Python 如何筛选列表的DataFrame列中包含特定项的列
如果我想过滤一列字符串中包含特定术语的字符串,我可以这样做:Python 如何筛选列表的DataFrame列中包含特定项的列,python,python-2.7,pandas,Python,Python 2.7,Pandas,如果我想过滤一列字符串中包含特定术语的字符串,我可以这样做: df = pd.DataFrame({'col':['ab','ac','abc']}) df[df['col'].str.contains('b')] 返回: col 0 ab 2 abc 如何筛选包含特定项目的列表列?例如,从 df = pd.DataFrame({'col':[['a','b'],['a','c'],['a','b','c']]}) 如何获取包含“b”的所有列表 col 0
df = pd.DataFrame({'col':['ab','ac','abc']})
df[df['col'].str.contains('b')]
返回:
col
0 ab
2 abc
如何筛选包含特定项目的列表列?例如,从
df = pd.DataFrame({'col':[['a','b'],['a','c'],['a','b','c']]})
如何获取包含“b”的所有列表
col
0 [a, b]
2 [a, b, c]
你可以像这样使用apply
In [13]: df[df['col'].apply(lambda x: 'b' in x)]
Out[13]:
col
0 [a, b]
2 [a, b, c]
虽然通常情况下,将列表存储在
数据框中有点尴尬-您可能会发现一些更容易使用的不同表示形式(列表中每个元素的列、多索引等)。@chrisb如果您有一个大的数据框
,并且您不知道条目的数量,您将如何处理(或者希望避免出现大量列)?