给出以下示例。
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]
我赢得了错误奖。
答案 0 :(得分:0)
以下任何一项都不正确
newdf[df['col1' ==2]
newdf[df['col1' ==2 & 'col2' == 7]
newdf[df['col1' == 2 && 'col2' == 7]
肢体感觉必须围绕每种情况
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的发言。