使用另一个数据帧从熊猫数据帧获取值

时间:2021-06-15 19:12:31

标签: python python-3.x pandas dataframe

我有两个数据框。

DF1
key1    key2
aa       a1
bb       b1
cc       c1
dd       d1

DF2
name  a1   b1   c1   d1
all    0    0   0     0
jack   12   22  52    44
toby   11   45  21    44

对于给定的关键字让我们说'dd',如果'dd'存在,我将首先检查DF1['key1']。如果是,我将为 DF1['key2'] 取相应的值并将其命名为键。现在我需要的是在列名 == 键中找到与 DF2 中的 Jack 关联的值。我需要一个单独的 python 函数来执行所有这些。所以输入参数将是两个数据帧,关键字和名称,输出将是一个值。

例如: 输入:DF1、DF2、插孔、bb 输出:22

数据框也可以包含小写、大写和空格。

1 个答案:

答案 0 :(得分:0)

试试:

def fn(df1, df2, a, b):
    c = df1.loc[df1["key1"] == b, "key2"].tolist()[0]
    return df2.loc[df2["name"] == a, c].tolist()[0]


val = fn(df1, df2, "jack", "bb")
print(val)

打印:

22