pandas -等同于 pandas 查询中的str.contains() [英] Pandas - equivalent of str.contains() in pandas query

查看:82
本文介绍了 pandas -等同于 pandas 查询中的str.contains()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用满足以下条件的子集创建数据框

Creating a dataframe using subsetting with below conditions

subset_df = df_eq.loc[(df_eq['place'].str.contains('Chile')) & (df_eq['mag'] > 7.5),['time','latitude','longitude','mag','place']]

想在Pandas中使用query()复制上述子集,但是不确定如何在Pandas查询中复制str.contains()等价物.查询中的赞"似乎无效

Want to replicate the above subset using query() in Pandas.However not sure how to replicate str.contains() equivalent in Pandas query. "like" in query doesn't seem to work

query_df = df_eq[['time','latitude','longitude','mag','place']].query('place like \'%Chile\' and mag > 7.5')

place like '%Chile'and mag >7.5 
            ^
SyntaxError: invalid syntax

任何帮助将不胜感激

推荐答案

到目前为止,我可以使用 .query 方法在查询中使用 str.contains .

As of now I am able to do this by using the engine='python' argument of the .query method to use str.contains inside a query.

这应该有效:

query_df = df_eq[['time', 'latitude', 'longitude', 'mag', 'place']].query(
    "place.str.contains('Chile') and mag > 7.5", engine="python")

这篇关于 pandas -等同于 pandas 查询中的str.contains()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆