**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