微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 如何在Pandas数据框中组合AND和OR运算符?

我的目标是找出列中可能存在的某些关键字组合是否填充了文本字符串(新闻文章标题).然后我想在条形图中绘制频率.

我使用pandas数据框完成了以下操作:

pvv_news = df[df['desc'].str.contains("pvv", case=True)]
pvv_month = win.groupby(win.index.month).size()
pvv_month.index = ['January', 'February', 'march', 'April', 'May', 'June']
pvv_month.plot(kind='bar')

这使:

enter image description here

现在,我无法弄清楚如何组合AND和OR来获得更具体的结果.我想到的但是什么不起作用的例子:

pvv_news = df[df['desc'].str.contains("(pvv)&(nederland|overheid)", case=True)]

我查看了以下功能,但我无法弄清楚:

> pandas.Series.str.extract
> pandas.Series.str.match
> pandas.Series.str.contains
>正则表达式与上述功能相结合.

解决方法:

如果我关注你想做的事情,这应该有效:

pvv_news = df[(df['desc'].str.contains("pvv"), case = True) &
              ((df['desc'].str.contains("nederland"), case = True) |  
               (df['desc'].str.contains("overheid"), case = True)) ]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐