根据两个条件从数据框中提取数据

时间:2020-06-18 16:32:28

标签: python dataframe

给出以下示例。

d = {'col1': [1, 2, 3], 'col2': [6, 7]}

df = pd.DataFrame(data=d)

df
   col1  col2
0     1     6
1     2     7

newdf[df['col1' ==2]

newdf

   col1  col2
0     2     7

对于单个列来说效果很好

但是

newdf[df['col1' ==2 & 'col2' == 7]

我赢得了错误奖。

2 个答案:

答案 0 :(得分:0)

  • 以下任何一项都不正确

    • newdf[df['col1' ==2]
    • newdf[df['col1' ==2 & 'col2' == 7]
    • newdf[df['col1' == 2 && 'col2' == 7]
  • 肢体感觉必须围绕每种情况

  • Pandas: Boolean indexing
import pandas as pd

d = {'col1': [1, 2, 3, 2], 'col2': [6, 7, 8, 9]}
df = pd.DataFrame(data=d)

   col1  col2
0     1     6
1     2     7
2     3     8
3     2     9

# specify multiple conditions
newdf = df[(df.col1 == 2) & (df.col2 == 7)]
print(newdf)

   col1  col2
1     2     7

答案 1 :(得分:0)

您的陈述中有错字。 python中的逻辑and运算符是

and

您的声明应为

>>> newdf[df[('col1' == 2) & ('col2' == 7)]

感谢@Trenton的发言。