1. 函數(shù)功能
Pandas 中的一個函數(shù),用于在 DataFrame 中執(zhí)行查詢操作。這個方法會返回一個新的 DataFrame,其中包含符合查詢條件的數(shù)據(jù)行。請注意,query 方法只能用于篩選行,而不能用于篩選列。
2. 函數(shù)語法
DataFrame.query(expr, *, inplace=False, **kwargs)
3. 函數(shù)參數(shù)
參數(shù) | 含義 |
---|---|
expr | 查詢字符串;對于不是有效python變量名的列名:如:UnitPrice(USD),需要將列名括在反引號(數(shù)字1左邊鍵)中 |
inplace | 布爾值,決定是修改原數(shù)據(jù)框還是創(chuàng)建新的數(shù)據(jù)框,默認為False:創(chuàng)建新的數(shù)據(jù)框 |
3.1單個條件查詢
df = pd.DataFrame({'A': range(1, 6),
'B': range(10, 0, -2),
'C C': range(10, 5, -1)})
print(df)
print("df.query('A>B'):\n", df.query('A>B'))
print("df.loc[df['A']>df['B'],]\n", df.loc[df['A'] > df['B'],])
print("df.query('B>= `C C`')\n", df.query('B>= `C C`'))
3.2 inplace參數(shù)
df = pd.DataFrame({'A': range(1, 6),
'B': range(10, 0, -2),
'C C': range(10, 5, -1)})
print(df)
print("df.query('A>B'):\n", df.query('A>B',inplace=True))
print('df:inplace=True\n',df)
3.3 實例數(shù)據(jù)查詢
df = pd.read_excel('C:\\Users\\***\\Desktop\\全球超市訂單數(shù)據(jù).xlsx',
usecols=['行 ID', '訂購日期', '細分市場', '市場', '類別', '數(shù)量'],
nrows=1000)
print(df)
3.3.1 單個條件查詢
## 1.單條件查詢:市場為亞太地區(qū)
df11 = df.query("市場=='亞太地區(qū)'")
print("df11.shape:", df11.shape)
df12 = df.loc[df['市場'] == '亞太地區(qū)',]
print("df12.shape:", df12.shape)
3.3.2 多條件查詢: 且:and、&
df21 = df.query("市場=='亞太地區(qū)' and 類別=='技術'")
print('df21: and', df21.shape)
df22 = df.query("市場=='亞太地區(qū)' & 類別=='技術'")
print('df22: &', df22.shape)
df23 = df.loc[(df['市場'] == '亞太地區(qū)') & (df['類別'] == '技術'),]
print('df23: loc', df23.shape)
3.3.3 多條件:或:or 、|
df31 = df.query("市場=='亞太地區(qū)' or 類別=='技術'")
print('df31: and', df31.shape)
df32 = df.query("市場=='亞太地區(qū)' | 類別=='技術'")
print('df32: &', df32.shape)
df33 = df.loc[(df['市場'] == '亞太地區(qū)') | (df['類別'] == '技術'),]
print('df33: loc', df33.shape)
print(df32)
可以看出在進行多條件查詢時,query()方法具有優(yōu)勢,能夠優(yōu)化代碼。文章來源:http://www.zghlxwxcb.cn/news/detail-668682.html
3.3.4 同一列的多個取值
print(df.query("市場 in ['亞太地區(qū)','非洲']"))
文章來源地址http://www.zghlxwxcb.cn/news/detail-668682.html
到了這里,關于DataFrame.query()--Pandas的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!