Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.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 如果列是列表,是否可以筛选DataFrame列?_Python_Pandas - Fatal编程技术网

Python 如果列是列表,是否可以筛选DataFrame列?

Python 如果列是列表,是否可以筛选DataFrame列?,python,pandas,Python,Pandas,我试着做一些事情,比如: import pandas as pd dafr = pd.DataFrame({'a': [1,2,3], 'b': [[1,2,3],[2,3,4],[3,4,5]]}) 它应该返回具有列表[1,2,3]&[2,3,4]的行 我想知道这是否可能?isin返回列值是否在您传递的内容中。您要检查传递的内容是否在列值中 据我所知,没有直接的快捷方式,但您可以使用map: dafr[dafr['b'].isin(2)] 如果将b存储为元组列而不是列表列,afr[daf

我试着做一些事情,比如:

import pandas as pd

dafr = pd.DataFrame({'a': [1,2,3], 'b': [[1,2,3],[2,3,4],[3,4,5]]})
它应该返回具有列表[1,2,3]&[2,3,4]的行


我想知道这是否可能?

isin
返回列值是否在您传递的内容中。您要检查传递的内容是否在列值中

据我所知,没有直接的快捷方式,但您可以使用
map

dafr[dafr['b'].isin(2)]

如果将b存储为元组列而不是列表列,
afr[dafr['b'].apply(lambda x:2 in x)]

将执行得相当快。

通常不希望在数据帧中存储非标量值。也许有更好的方法来构造数据帧,或者数据帧不是数据的正确存储。最快的回复令人赞叹!为欣赏简短的解释而接受。
>>> dafr[dafr.b.map(lambda x: 2 in x)]
    a          b
0  1  [1, 2, 3]
1  2  [2, 3, 4]
dafr[dafr['b'].apply(lambda x: 2 in x)]