Dav*_*vid 20 python string pandas
我有一个python pandas数据帧df,有很多行.从这些行中,我想切出来,只使用'body'列中包含单词'ball'的行.要做到这一点,我可以这样做:
df[df['body'].str.contains('ball')]
问题是,我希望它不区分大小写,这意味着如果Ball或bAll这个词出现,我也会想要那些.进行不区分大小写搜索的一种方法是将字符串转换为小写,然后搜索该方式.我想知道该怎么做.我试过了
df[df['body'].str.lower().contains('ball')]
但这不起作用.我不确定我是否应该在这个或那种性质的东西上使用lambda函数.
DSM*_*DSM 34
你可以.str再次使用来访问字符串方法,或者(更好地,恕我直言)使用case=False来保证不区分大小写:
>>> df = pd.DataFrame({"body": ["ball", "red BALL", "round sphere"]})
>>> df[df["body"].str.contains("ball")]
body
0 ball
>>> df[df["body"].str.lower().str.contains("ball")]
body
0 ball
1 red BALL
>>> df[df["body"].str.contains("ball", case=False)]
body
0 ball
1 red BALL
>>> df[df["body"].str.contains("ball", case=True)]
body
0 ball
Run Code Online (Sandbox Code Playgroud)
(请注意,如果您要进行任务,那么使用它是一种更好的习惯df.loc,以避免可怕的SettingWithCopyWarning,但如果我们只是在这里选择它并不重要.)
(注意#2:猜我真的不需要指定'圆'那里..)
| 归档时间: |
|
| 查看次数: |
22780 次 |
| 最近记录: |