多过滤器Python Data.frame
我对python很陌生。我正试图像在R中一样过滤data.frame中的行多过滤器Python Data.frame,python,pandas,dataframe,Python,Pandas,Dataframe,我对python很陌生。我正试图像在R中一样过滤data.frame中的行 sub_df = df[df[main_id]==3] 有效,但是 df[df[main_id] in [3,7]] 给我一个错误 “序列的真值不明确” 您能给我推荐一个正确的语法来编写类似的选择吗?您可以使用pandas函数。这看起来像这样: df[df[main_id].apply(lambda x: x in [3, 7])] import pandas as pd df = pd.DataFrame({'
sub_df = df[df[main_id]==3]
有效,但是
df[df[main_id] in [3,7]]
给我一个错误
“序列的真值不明确”
您能给我推荐一个正确的语法来编写类似的选择吗?您可以使用pandas函数。这看起来像这样:
df[df[main_id].apply(lambda x: x in [3, 7])]
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'f']})
df[df['A'].isin([2, 3])]
给予:
A B
1 2 b
2 3 f
另一个解决方案:
In [60]: df = pd.DataFrame({'main_id': [0,1, 2, 3], 'x': list('ABCD')})
In [61]: df
Out[61]:
main_id x
0 0 A
1 1 B
2 2 C
3 3 D
In [62]: df.query("main_id in [0,3]")
Out[62]:
main_id x
0 0 A
3 3 D
您可以包含原始数据帧吗?
打印输出(df.head())
?非常感谢,这是解决方案