简单学量化pandas的应用13query函数

我们在dataframe中筛选时,有点儿繁琐,下面我们进行举例。

首先,我们查询股票000333今年2-3月份的开盘和收盘价。

df = pro.daily(ts_code='000333.SZ', start_date='20240201', end_date='20240317')
df = df[['trade_date','open','close']]#只取这3列数据
df

返回(部分截图):

简单学量化pandas的应用13query函数

然后,我们查询一下开盘价大于60,收盘价大于65的那些行,方法一:

df[df['open']>60]#先查询开盘价大于60
df[df['close']>65]#再查询收盘价大于65

返回:

简单学量化pandas的应用13query函数

方法二(写一行):

df[(df['open']>60) & (df['close']>65)]#只能用&,不能用and

返回:

简单学量化pandas的应用13query函数

方法一和方法二都解决了问题,但是代码繁琐,两套括号,两次出现dataframe的名称。这样的语法,如果好久不用,肯定会忘掉或记错的。

query()函数的出现,将代码简单化:

df.query('open > 60 & close >65')#这儿的&可以替换为and

返回:

简单学量化pandas的应用13query函数

实现的效果是一样的,但代码简洁了许多,简单到只用了一行短短的代码,就连列名都不需要加引号了!

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/74924
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 2024 年 7 月 11 日
下一篇 2024 年 7 月 11 日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注