在 Pandas 中根據數值從多列中的某一列進行查詢
Preet Sanghavi
2022年5月16日
本教程將學習如何在 Pandas 中執行查詢操作。
根據 Pandas 中的值從多個列之一中查詢的步驟
以下是根據 Pandas DataFrame 中的值從多個列之一進行查詢的步驟。
匯入 Pandas
我們現在將匯入我們需要開始的基本庫。
import pandas as pd
建立 Pandas DataFrame
我們將建立一個示例 DataFrame,用於執行查詢過程。
data = {
"Year": ["2000", "2001", "2002", "2003"],
"data": ["a", "b", "c", "d"],
"a": [1, 2, 3, 4],
"b": [5, 6, 7, 8],
"c": [9, 10, 11, 12],
"d": [13, 14, 15, 16],
}
df = pd.DataFrame(data)
在上面的程式碼中,我們建立了一個名為 data
的列表字典。然後,我們將此字典傳遞給 pd.DataFrame()
函式以建立 Pandas DataFrame。
現在讓我們看看我們的 DataFrame 的外觀。
print(df)
輸出:
Year data a b c d
0 2000 a 1 5 9 13
1 2001 b 2 6 10 14
2 2002 c 3 7 11 15
3 2003 d 4 8 12 16
使用 lookup()
函式根據值從多個列之一中查詢
我們現在將根據列 data
值從多個列之一執行查詢。我們將使用 Pandas 中的 lookup()
函式來執行所需的操作。
df["value"] = df.lookup(df.index, df["data"])
我們在上面的程式碼中新增了一個名為 value
的新列,其中包含 lookup()
函式新增的查詢值。在查詢函式中,我們傳遞要在以下列中查詢其索引值的列名。
我們現在使用帶有查詢值的新新增列 value
列印更新的 DataFrame。
print(df)
輸出:
Year data a b c d value
0 2000 a 1 5 9 13 1
1 2001 b 2 6 10 14 6
2 2002 c 3 7 11 15 11
3 2003 d 4 8 12 16 16
我們已經成功地在上面的輸出中新增了帶有查詢值的新列。因此,我們可以通過上述方法成功找到 Pandas DataFrame 中的查詢值。
作者: Preet Sanghavi