gpt4 book ai didi

python - 根据另一个数据框的值将列添加到数据框

转载 作者:行者123 更新时间:2023-11-28 22:31:56 26 4
gpt4 key购买 nike

我有两个数据框,我需要使用第一个数据框向第二个数据框添加一个新列,如果它存在于第一个数据框中则值为 TRUE 否则 FALSE.

第一个数据框有美国大学城的州和地区名称

    State    RegionName
0 Alabama Auburn
1 Alabama Florence
2 Alabama Jacksonville
3 Illinois Chicago

第二个数据框具有每个季度的增长率。它在 State 和 RegionName 上建立索引

                         2008q3         2008q4
State RegionName
Alabama Jacksonville 499766.666667 487933.333333
California Los Angeles 469500.000000 443966.666667
Illinois Chicago 232000.000000 227033.333333

所以输出数据帧将是

                         2008q3         2008q4         univ_town
State RegionName
Alabama Jacksonville 499766.666667 487933.333333 TRUE
California Los Angeles 469500.000000 443966.666667 FALSE
Illinois Chicago 232000.000000 227033.333333 TRUE

非常感谢任何帮助

最佳答案

各种可能的方法之一是使用 Index.isin检查与多索引 DF2 对应的索引键是否在两个级别的 DF1 中作为相应列存在的方法。

然后使用np.where在创建的 bool 掩码的 & 条件满足后执行赋值操作 (True),否则 (False)。

cond1 = df2.index.isin(df1['State'], level=0)   # Check level=0 and df1['State']
cond2 = df2.index.isin(df1['RegionName'], level=1) # Check level=1 and df1['RegionName']

df2.assign(univ_town=np.where(cond1 & cond2, 'TRUE', 'FALSE'))

enter image description here

关于python - 根据另一个数据框的值将列添加到数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41380664/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com