從pandas.DataFrame中選擇複雜的條件
在使用Pandas進行資料分析時,我們經常需要根據複雜的條件選擇特定的行或列標準。本問題示範如何在給定“B”和“C”對應值滿足特定條件的情況下從“A”列中選擇值。
為了理解這個問題,讓我們建立一個範例DataFrame:
import pandas as pd from random import randint df = pd.DataFrame({'A': [randint(1, 9) for x in range(10)], 'B': [randint(1, 9)*10 for x in range(10)], 'C': [randint(1, 9)*100 for x in range(10)]})
現在,我們要從'A' 中選擇滿足以下條件的值:
為了解決這個問題,我們可以使用Pandas 的列操作:
df["B"] > 50
這將建立一個布林系列對象,其中每個元素對應於「B」中的一行,並指示對應的'B' 值大於50。
(df["B"] > 50) & (df["C"] != 900)
這利用廣播和邏輯運算符來組合佈林 Series 對象,創建一個新 Series,其中每個元素指示相應的行是否滿足這兩個條件。
使用這個系列作為索引,我們可以提取「A」值:
df["A"][(df["B"] > 50) & (df["C"] != 900)]
或者,使用.loc 語法:
df.loc[(df["B"] > 50) & (df["C"] != 900), "A"]
此方法有效提取滿足指定條件的行,從而能夠對所選資料進行進一步分析或操作。
以上是如何根據複雜的多列標準選擇 Pandas DataFrame 行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!