Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
多过滤器Python Data.frame_Python_Pandas_Dataframe - Fatal编程技术网

多过滤器Python 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({'

我对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({'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())
?非常感谢,这是解决方案