在 Pandas 中根據數值從多列中的某一列進行查詢
Preet Sanghavi
2022年5月16日
Pandas
Pandas DataFrame

本教程將學習如何在 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 中的查詢值。
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
作者: Preet Sanghavi