【pandas之DataFrame相关函数】query()函数

**DataFrame.query(expr, inplace=False, **kwargs)[source]
Query the columns of a DataFrame with a boolean expression.
通过布尔表达式进行查询
**

待读取文件预览:

import pandas as pd

# 读取excel
file_path = r'C:\Users\123\Desktop\pandastest\example.xlsx'
df = pd.read_excel(file_path, sheet_name=0, header=0, skipfooter=0)
df1 = df.copy()
print(df)
# 预览原dataframe


# A。查询每行中,价格大于100的行。
print("查询每行中,价格大于100的行。")
print(df1.query(' 价格> 100 '))

# A.查询标题中,值等于"长裙","鞋子"的行
print("查询标题中,值等于长裙,鞋子的行")
print(df.query('标题 in ["长裙","鞋子"]'))

# A.查询标题中,值包含“裙”的行
print("查询标题中,值包含“裙”的行")
print(df.query('标题.str.contains("裙")'))

# B.查询编号与购买数量相同的行。
print("查询编号与购买数量相同的行。")
print(df1.query(' 编号 == 购买数量 '))

# B.查询价格*购买数量大于1000的行。
print("查询价格*购买数量大于1000的行。")
print(df1.query(' 价格*购买数量> 1000 '))

# 多重条件查询 & 和 and
print("多重条件查询 & 和 and")
print(df1.query(' (价格<100) & (价格> 30.0)'))

# 传入变量 @
print("传入变量 @")
aver_price = df['价格'].mean()
print(df1.query(' 价格> @aver_price '))


运行结果:

查询每行中,价格大于100的行。
    编号  标题     价格  购买数量    退款状态              订单创建时间              订单付款时间
2    3  长裙  999.0     1     已退款 2022-03-31 21:54:46 2022-03-31 21:54:54
5    6  T恤  999.0     1     已退款 2022-03-31 16:20:27 2022-03-31 16:20:33
7    8  长裙  999.0     5     已退款 2022-03-31 11:13:04 2022-03-31 11:14:32
9   10  T恤  999.0     2  没有申请退款 2022-03-29 23:22:42 2022-03-29 23:22:46
12  13  鞋子  999.0     1     已退款 2022-03-29 13:28:01 2022-03-29 13:28:13
查询标题中,值等于长裙,鞋子的行
    编号  标题     价格  购买数量    退款状态              订单创建时间              订单付款时间
2    3  长裙  999.0     1     已退款 2022-03-31 21:54:46 2022-03-31 21:54:54
7    8  长裙  999.0     5     已退款 2022-03-31 11:13:04 2022-03-31 11:14:32
11  12  鞋子   29.9     1  没有申请退款 2022-03-29 13:28:01 2022-03-29 13:28:13
12  13  鞋子  999.0     1     已退款 2022-03-29 13:28:01 2022-03-29 13:28:13
13  14  鞋子   39.9     1  没有申请退款 2022-03-29 11:06:52 2022-03-29 11:06:57
查询标题中,值包含“裙”的行
   编号  标题     价格  购买数量 退款状态              订单创建时间              订单付款时间
2   3  长裙  999.0     1  已退款 2022-03-31 21:54:46 2022-03-31 21:54:54
7   8  长裙  999.0     5  已退款 2022-03-31 11:13:04 2022-03-31 11:14:32
查询编号与购买数量相同的行。
   编号  标题    价格  购买数量    退款状态              订单创建时间              订单付款时间
0   1  T恤  29.9     1  没有申请退款 2022-03-31 21:54:46 2022-03-31 21:54:54
查询价格*购买数量大于1000的行。
   编号  标题     价格  购买数量    退款状态              订单创建时间              订单付款时间
7   8  长裙  999.0     5     已退款 2022-03-31 11:13:04 2022-03-31 11:14:32
9  10  T恤  999.0     2  没有申请退款 2022-03-29 23:22:42 2022-03-29 23:22:46
多重条件查询 & 和 and
    编号  标题    价格  购买数量    退款状态              订单创建时间              订单付款时间
1    2  T恤  39.9     1  没有申请退款 2022-03-31 21:54:46 2022-03-31 21:54:54
3    4  T恤  39.9     1  没有申请退款 2022-03-31 20:39:47 2022-03-31 20:39:53
13  14  鞋子  39.9     1  没有申请退款 2022-03-29 11:06:52 2022-03-29 11:06:57
传入变量 @
    编号  标题     价格  购买数量    退款状态              订单创建时间              订单付款时间
2    3  长裙  999.0     1     已退款 2022-03-31 21:54:46 2022-03-31 21:54:54
5    6  T恤  999.0     1     已退款 2022-03-31 16:20:27 2022-03-31 16:20:33
7    8  长裙  999.0     5     已退款 2022-03-31 11:13:04 2022-03-31 11:14:32
9   10  T恤  999.0     2  没有申请退款 2022-03-29 23:22:42 2022-03-29 23:22:46
12  13  鞋子  999.0     1     已退款 2022-03-29 13:28:01 2022-03-29 13:28:13

进程已结束,退出代码0

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陆百亿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值