pandas 查询函数query的用法说明
query()函数简介
pandas的query()方法是基于DataFrame列的计算代数式,对于按照某列的规则进行过滤的操作,可以使用query方法。
代码示例
importpandasaspd df=pd.DataFrame({'a':[1,2,3,4,5,6], 'b':[1,2,3,4,5,6], 'c':[1,2,3,4,5,6]}) query_list=[1,2] df_2=df.query('cnotin@query_list')[['a','b']]
使用总结
对于sql中的in或者notin,可以使用query()函数按照某列条件进行过滤,且query()函数返回一个DataFrame,可以直接在后面根据索引获取最终想要的数据。
补充:pythonquery方法_Pandasdataframe.query方法语法
问题:
我想更好地理解PandasDataFrame.query方法以及下面的表达式表示什么:
match=dfDays.query('index>@x.name&price>=@x.target')
@x.name代表什么?
我理解这段代码(一个包含pandas.tslib.Timestamp数据的新列)的结果输出是什么,但不清楚用于获取此最终结果的表达式。
数据:
从这里开始:np.random.seed(seed=1) rng=pd.date_range('1/1/2000','2000-07-31',freq='D') weeks=np.random.uniform(low=1.03,high=3,size=(len(rng),)) ts2=pd.Series(weeks ,index=rng) dfDays=pd.DataFrame({'price':ts2}) dfWeeks=dfDays.resample('1W-Mon').first() dfWeeks['target']=(dfWeeks['price']+.5).round(2) deffind_match(x): match=dfDays.query('index>@x.name&price>=@x.target') ifnotmatch.empty: returnmatch.index[0] dfWeeks.assign(target_hit=dfWeeks.apply(find_match,1))
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。