在 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