在 Pandas 中根據數值從多列中的某一列進行查詢

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

本教程將學習如何在 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
Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

相關文章 - Pandas DataFrame