• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    pandas 查询函数query的用法说明

    query() 函数简介

    pandas的query()方法是基于DataFrame列的计算代数式,对于按照某列的规则进行过滤的操作,可以使用query方法。

    代码示例

    import pandas as pd
    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('c not in @query_list')[['a', 'b']]
    

    使用总结

    对于sql中的in或者not in,可以使用query()函数按照某列条件进行过滤,且query()函数返回一个DataFrame,可以直接在后面根据索引获取最终想要的数据。

    补充:python query方法_Pandas dataframe.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)
    def find_match(x):
    match = dfDays.query('index > @x.name  price >= @x.target')
    if not match.empty:
    return match.index[0]
    dfWeeks.assign(target_hit=dfWeeks.apply(find_match, 1))
    

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

    您可能感兴趣的文章:
    • Pandas探索之高性能函数eval和query解析
    • pandas is in和not in的使用说明
    • pandas数据分组groupby()和统计函数agg()的使用
    • 使用pandas读取表格数据并进行单行数据拼接的详细教程
    上一篇:pandas is in和not in的使用说明
    下一篇:Pandas 模糊查询与替换的操作
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    pandas 查询函数query的用法说明 pandas,查询,函数,query,的,