首页 > 解决方案 > 如何将列值从一个数据框提取到另一个数据框?

问题描述

我有两个熊猫数据框 df1 和 df2

   **df1**                                **df2**  
cat  id  frequency            id   (other cols)    A    B    C
A    23    2                  23   .............  nan  nan  nan
A    43    8                  43   .............  nan  nan  nan
B    23    56                 30   .............  nan  nan  nan
C    30    4

我正在寻找一种方法来从 df1 到 df2 中提取信息,从而得到以下格式,其中 A、B 和 C 列的值是 df1 中的频率值

       **df2**
id  (other cols)  A  B   C 
30   ..........   0  0   4
23   ..........   2  56  0
43   ..........   8  0   0

标签: pythonpandasdataframe

解决方案


DataFrame.pivot与 一起使用DataFrame.combine_first

df11 = df1.pivot('cat', 'id', 'frequency')

#if id is column
df = df2.set_index('id').combine_first(df11)

#if id is index
df = df2.combine_first(df11)

推荐阅读