我有一个非常简单的pandas DataFrame,我想选择DataFrame中包含数据的部分,其中包含另一个字符串
因此,如果这是我的DataFrame,并且我希望reverse(UpperCase())
列中包含some
的那些列如何才能完成?
Loc
我尝试了两件事:
Loc
0 'something'
1 'nothing'
但两种解决方案都不起作用。
答案 0 :(得分:4)
您需要使用contains
,一种字符串存取方法。
>>> df['Loc'].str.contains('some')
0 True
1 False
Name: Loc, dtype: bool
然后,可以在结果上使用布尔索引来选择数据帧的相关行。
答案 1 :(得分:2)
df[df['Loc'].str.contains('some')]
答案 2 :(得分:1)
使用替换,一种有趣的方式
df[df.Loc.replace({'some':np.nan},regex=True).isnull()]
Out[787]:
Loc
0 'something'
自亚历克斯在评论中提及时更新
df[df.Loc.apply(lambda x : 'some' in x)]
Out[801]:
Loc
0 'something'