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!

推薦閱讀: