Python數(shù)據(jù)分析之?Pandas?Dataframe條件篩選遍歷詳情
一、條件篩選
查詢Pandas Dataframe數(shù)據(jù)時,經(jīng)常會篩選出符合條件的數(shù)據(jù),接下來介紹一下具體的使用方式。
示例Dataframe如下:
單條件篩選,例如查詢gender為woman的數(shù)據(jù):
df[df["gender"]=="woman"] # 或 df.loc[df["gender"]=="woman"]
使用isin()函數(shù)篩選,例如查詢age為24、28的數(shù)據(jù):
df[df["age"].isin([24,28])]
當(dāng)有多個過濾條件時,可以使用邏輯操作符&
和|
,如下。
例如:查詢gender為“woman”并且city為“shanghai”的數(shù)據(jù):
df[(df["gender"]=="woman") & (df["city"]=="shanghai")]
查詢age大于25或者gender為“woman”的數(shù)據(jù):
df[(df["age"]>25) | (df["gender"]=="woman")]
注意:邏輯操作符兩邊的過濾條件必須使用小括號()括起來,否則會報錯或者不起作用。
波浪線符~
可以取指定條件相反的數(shù)據(jù),例如查詢city不為“beijing”的數(shù)據(jù):
df[~(df["city"]=="beijing")]
二、Dataframe數(shù)據(jù)遍歷
for...in...語句
因為 Dataframe 對象屬于可迭代對象,所以可以使用for...in...
語句進(jìn)行遍歷,遍歷結(jié)果是列的名稱,如下:
for i in df: print(i)
結(jié)果輸出如下:
如果要遍歷 DataFrame 的行數(shù)據(jù),需要使用以下方法:
iteritems()方法
iteritems()
方法是按列進(jìn)行遍歷,遍歷結(jié)果為為(列名, value)鍵值對:
for column, value in df.iteritems(): print(column) print(value)
iterrows()方法
iterrows()
方法是按行進(jìn)行遍歷,遍歷結(jié)果為(index, value)鍵值對:
for index, row in df.iterrows(): print(index) print(row)
itertuples()方法
itertuples()
是以namedtuples
(命名元組)形式遍歷行,遍歷每一行為一個命名元組:
for row in df.itertuples(): print(row)
到此這篇關(guān)于Python數(shù)據(jù)分析之 Pandas Dataframe條件篩選遍歷詳情的文章就介紹到這了,更多相關(guān) Pandas Dataframe遍歷內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python數(shù)據(jù)分析Matplotlib?柱狀圖繪制
本文主要介紹了Python數(shù)據(jù)分析Matplotlib柱狀圖繪制,Matplotlib提供了bar()方法繪制柱狀圖,下面具體繪制介紹需要的小伙伴可以參考以一下2022-05-05python實現(xiàn)npy格式文件轉(zhuǎn)換為txt文件操作
這篇文章主要介紹了python實現(xiàn)npy格式文件轉(zhuǎn)換為txt文件操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07