Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.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过滤_Python_Pandas - Fatal编程技术网

涉及列表的python过滤

涉及列表的python过滤,python,pandas,Python,Pandas,我目前正在Python2.7中使用Pandas。我的数据帧与此类似: >>> df 0 1 [1, 2] 2 [2, 3] 3 [4, 5] 是否可以按列1中的值筛选行?例如,如果我的筛选器值为2,则筛选器应返回包含前两行的数据帧 我已经试过几种方法了。我能想到的最好的办法是执行列表理解,返回值所在行的索引。然后,我可以用索引列表过滤数据帧。但是,如果我想用不同的值过滤多次,这将非常缓慢。理想情况下,我希望使用内置函数来加快进程 您可以使用: 您可以使用

我目前正在Python2.7中使用Pandas。我的数据帧与此类似:

>>> df
        0
1  [1, 2]
2  [2, 3]
3  [4, 5]
是否可以按列1中的值筛选行?例如,如果我的筛选器值为2,则筛选器应返回包含前两行的数据帧

我已经试过几种方法了。我能想到的最好的办法是执行列表理解,返回值所在行的索引。然后,我可以用索引列表过滤数据帧。但是,如果我想用不同的值过滤多次,这将非常缓慢。理想情况下,我希望使用内置函数来加快进程

您可以使用:

您可以使用:


您还可以将布尔索引用于列表理解:

>>> df[[2 in row for row in df['0']]]
        0
0  [1, 2]
1  [2, 3]

您还可以将布尔索引用于列表理解:

>>> df[[2 in row for row in df['0']]]
        0
0  [1, 2]
1  [2, 3]

令人惊叹的!谢谢你的帮助。这比我以前做的要快得多。我在想象会有一个类似于df[0]中的df[2]的答案。太棒了!谢谢你的帮助。这比我以前做的要快得多。我想象会有一个类似于df[0]中df[2]的答案。你可以使用
np.in1d
来搜索多个值。你可以使用
np.in1d
来搜索多个值,如:的答案所示。