Python數據分析之 Pandas Dataframe條件篩選遍歷詳情
一、條件篩選
查詢Pandas Dataframe數據時,經常會篩選出符合條件的數據,接下來介紹一下具體的使用方式。
示例Dataframe如下:
單條件篩選,例如查詢gender為woman的數據:
df[df["gender"]=="woman"] # 或 df.loc[df["gender"]=="woman"]
使用isin()函數篩選,例如查詢age為24、28的數據:
df[df["age"].isin([24,28])]
當有多個過濾條件時,可以使用邏輯操作符&
和|
,如下。
例如:查詢gender為“woman”並且city為“shanghai”的數據:
df[(df["gender"]=="woman") & (df["city"]=="shanghai")]
查詢age大於25或者gender為“woman”的數據:
df[(df["age"]>25) | (df["gender"]=="woman")]
註意:邏輯操作符兩邊的過濾條件必須使用小括號()括起來,否則會報錯或者不起作用。
波浪線符~
可以取指定條件相反的數據,例如查詢city不為“beijing”的數據:
df[~(df["city"]=="beijing")]
二、Dataframe數據遍歷
for…in…語句
因為 Dataframe 對象屬於可迭代對象,所以可以使用for...in...
語句進行遍歷,遍歷結果是列的名稱,如下:
for i in df: print(i)
結果輸出如下:
如果要遍歷 DataFrame 的行數據,需要使用以下方法:
iteritems()方法
iteritems()
方法是按列進行遍歷,遍歷結果為為(列名, value)鍵值對:
for column, value in df.iteritems(): print(column) print(value)
iterrows()方法
iterrows()
方法是按行進行遍歷,遍歷結果為(index, value)鍵值對:
for index, row in df.iterrows(): print(index) print(row)
itertuples()方法
itertuples()
是以namedtuples
(命名元組)形式遍歷行,遍歷每一行為一個命名元組:
for row in df.itertuples(): print(row)
到此這篇關於Python數據分析之 Pandas Dataframe條件篩選遍歷詳情的文章就介紹到這瞭,更多相關 Pandas Dataframe遍歷內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Pandas加速代碼之避免使用for循環
- Python pandas DataFrame數據拼接方法
- Python Pandas 中的數據結構詳解
- Python 更快進行探索性數據分析的四個方法
- Python數據分析之 Pandas Dataframe修改和刪除及查詢操作