在 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