Pandas - 查詢函數query


pandas.DataFrame.query(self, expr, inplace = False, **kwargs)

1.  作用:

  • 使用布爾表達式查詢DataFrame的,也就是按照DataFrame中某列的規則進行過濾操作

2.  參數:

  • expr:
    • 要評估的查詢字符串;
    • 可以在環境中引用變量,在變量前面加上@字符(@a+b);
    • 也可以通過在反引號中將空格或運算符括起來來引用它們
  • inplace=False:查詢是應該修改數據還是返回修改后的副本
  • kwargs:dict關鍵字參數

3.  返回值類型:

  • DataFrame,由提供的查詢表達式產生的DataFrame

4.  舉例:

生成數據:

import pandas as pd
import numpy as np
df = pd.DataFrame({
    'A': range(1,6),
    'B': range(10, 0, -2),
    'C C': 2
})
print(df)

 output:

A   B  C C
0  1  10    2
1  2   8    2
2  3   6    2
3  4   4    2
4  5   2    2

4.1  查詢B列中數值為2的行記錄

print(df.query('B == 2'))

output:

   A  B  C C
4  5  2   2

4.2  查詢A列數值小於B列的行記錄

print(df.query('A < B'))
# 等價於
print(df[df.A < df.B])

output:

   A   B  C C
0  1  10    2
1  2   8    2
2  3   6    2

 4.3  查詢B列數值和C C列相等的行記錄

注:對於名稱中帶有空格的列名,python2可以用反引號引用,但是python3已經取消了,所以可以用下面的方法

print(df[df.B == df['C C']])

output:

   A  B  C C
4  5  2    2

 


參考鏈接:https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.query.html 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM