首頁 > 軟體

Python資料分析之 Pandas Dataframe條件篩選遍歷詳情

2022-05-22 19:00:23

一、條件篩選

查詢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遍歷內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com