2015-08-28 42 views
2

如果我要筛选那些包含一定期限的字符串的专栏中,我可以这样做是这样的:如何过滤列表的数据帧列那些包含某个项目

df = pd.DataFrame({'col':['ab','ac','abc']}) 
df[df['col'].str.contains('b')] 

回报:

​​

如何过滤包含特定项目的列的列表?例如,从

df = pd.DataFrame({'col':[['a','b'],['a','c'],['a','b','c']]}) 

如何获得所有包含'b'的列表?

  col 
0  [a, b] 
2 [a, b, c] 

回答

5

你可以像这样使用apply。

In [13]: df[df['col'].apply(lambda x: 'b' in x)] 
Out[13]: 
     col 
0  [a, b] 
2 [a, b, c] 

虽然一般,在DataFrame存储列表是一个有点尴尬 - 你可能会发现一些不同的表示(列在清单中,多指标等各元素)是更容易使用。

+0

非常感谢! – rurp

相关问题