当前位置: 首页 > 面试题库 >

使用值列表从pandas数据框中选择行

东方高洁
2023-03-14
问题内容

可以说我有以下熊猫数据框:

df = DataFrame({'A' : [5,6,3,4], 'B' : [1,2,3, 5]})
df

     A   B
0    5   1
1    6   2
2    3   3
3    4   5

我可以根据特定的值进行子集化:

x = df[df['A'] == 3]
x

     A   B
2    3   3

但是如何根据值列表进行子集设置呢?-这样的东西:

list_of_values = [3,6]

y = df[df['A'] in list_of_values]

问题答案:

您可以使用isin方法:

In [1]: df = pd.DataFrame({'A': [5,6,3,4], 'B': [1,2,3,5]})

In [2]: df
Out[2]:
   A  B
0  5  1
1  6  2
2  3  3
3  4  5

In [3]: df[df['A'].isin([3, 6])]
Out[3]:
   A  B
1  6  2
2  3  3

并得到相反的用法~

In [4]: df[~df['A'].isin([3, 6])]
Out[4]:
   A  B
0  5  1
3  4  5


 类似资料:
  • 假设我有以下熊猫数据: 但是如何根据值列表进行子集呢?-类似这样: 得到:

  • 问题内容: 这项工作(使用Pandas 12 dev) 然后我意识到我需要使用“开始于”来选择字段,因为我缺少一堆。因此,根据我所能追踪的熊猫文档,我尝试过 并得到了AttributeError:’float’对象没有属性’startswith’ 所以我尝试了具有相同结果的替代语法 参考http://pandas.pydata.org/pandas-docs/stable/indexing.htm

  • 问题内容: 我有一个包含很多列的数据框。现在,我只想选择某些列。我将要选择的所有列名称保存到Python列表中,现在我想根据该列表过滤数据框。 我一直在尝试做: 其中list包含我要选择的所有列名。 但是我得到了错误: 任何帮助吗? 问题答案: 您可以删除一个: 也最好使用其他名称,例如: 看起来工作正常,我只尝试简化一下: :

  • 问题内容: 我在不同的列中有数据,但是我不知道如何提取数据以将其保存在另一个变量中。 如何选择然后将其保存到df1中? 我试过了 似乎没有任何工作。 问题答案: 列名(字符串)无法按照你尝试的方式进行切片。 在这里,你有两个选择。如果从上下文中知道要切出哪些变量,则可以通过将列表传递给语法来仅返回那些列的视图。 或者,如果需要对它们进行数字索引而不是按其名称进行索引(例如,你的代码应在不知道前两列

  • 问题内容: 我想为某个列(例如column)选择一个范围。我想选择-0.5到+0.5之间的所有值。如何做到这一点? 我希望使用 但这(自然)给出了ValueError: 我试过了 但这全部输出了。 正确的输出应该是 在pandas数据框列中查找值范围的正确方法是什么? 编辑:问题 使用与 将是之间的区别 和不平等之类的 ? 问题答案: 使用有严格的不平等: 该参数确定是否包括端点(:,:)。这适用

  • 问题内容: 我有一个看起来像这样的Pandas DataFrame: 而且我想提取仅包含那些行的DataFrame,其中包含的任何行。因此结果应如下所示: 最简单的方法是什么? 供测试用: 问题答案: IIUC重新创建您的df,然后使用with应该比