【问题标题】:Obtaining a value from a pandas dataframe using another dataframe使用另一个数据框从熊猫数据框中获取值
【发布时间】:2021-08-31 15:42:36
【问题描述】:

我有两个数据框。

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

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

【问题讨论】:

    标签: python python-3.x pandas dataframe


    【解决方案1】:

    试试:

    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
    

    【讨论】:

    • @KathanVyas 是的,如果"a" 列在df2 中不存在,则会引发异常。
    猜你喜欢
    • 1970-01-01
    • 2022-11-27
    • 1970-01-01
    • 2017-01-20
    • 2019-06-30
    • 2020-07-31
    • 2021-12-10
    • 2016-09-15
    相关资源
    最近更新 更多