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