pandas 的dataframe 對 數據查詢可以通過3種方式 。
預備知識:
1. pandas 的索引和label都是從0開始的計數的
2. 時間切片都是左閉右開的。 [5:6,:] 只會輸出index =5的那一行值。
pd.dataframe的3種方式實現數據查詢
1. 取其中的一個元素 .iat[x,x]
2. 基於位置的查詢.iloc[], iloc[2,1] ,查詢第二行,
3. 基於label的查詢 .loc[x]. 比如營業額大於 100萬的樣本。對某個lable 有條件限制。
下例,label 是A,B,C,D
import pandas as pd import numpy as np df = pd.DataFrame({'A': 'foo bar foo bar foo bar foo foo'.split(), 'B': 'one one two three two two one three'.split(), 'C': np.arange(8), 'D': np.arange(8) * 2}) print(df) # A B C D # 0 foo one 0 0 # 1 bar one 1 2 # 2 foo two 2 4 # 3 bar three 3 6 # 4 foo two 4 8 # 5 bar two 5 10 # 6 foo one 6 12 # 7 foo three 7 14
df.loc[(df['A'] == 'foo') & (df['B'] == 'one')]
df.loc[(df['C']>2) & (df['D']<10) ]
#選取滿足某個類別的條件。 C 是產品類型。 選c =3或5,6的所有樣本
df.loc[df['C'].isin([3,5,6])]