python-3.x 如何将结果从另一个 Dataframe 附加到另一个 Dataframe ?

wljmcqd8  于 2023-05-02  发布在  Python
关注(0)|答案(1)|浏览(151)

我有两个 Dataframe ,

df2= Srno, Unique, %count, TotalCount, Values
      1,     B   ,       ,           ,40
      2,     A   ,       ,           ,45
      3,     D   ,       ,           ,56  
      4,     C   ,       ,           ,60      

df1= Srno, Unique, %count, TotalCount
       1,     A   , 35%,    89
       2,     B   , 40%     65           
       3,     C   , 42%     42         
       4,     D   , 15%     80

现在我想在Unique的基础上插入%count,TotalCount从df1到df2。我试过了

df2['%count'] = df1[df1['Unique'].isin(df2['Unique'])]['%count'].values

此代码没有给予正确的输出。
输出应该如下所示,

df2= Srno, Unique, %count, TotalCount, Values
       1,     B   , 40%  ,    65       ,40
       2,     A   , 35%  ,    89       ,45
       3,     D   , 15%  ,    80       ,56  
       4,     C   , 42%  ,    42       ,60
x7yiwoj4

x7yiwoj41#

假设两列中都有NaN,可以尝试使用combine_first

df2 = (df1.set_index("Unique")[["%count", "TotalCount"]]
           .combine_first(df2.set_index("Unique")).reset_index()
           .reindex(columns=df2.columns).sort_values(by="Srno")
      )

输出:

print(df2)

   Srno Unique %count  TotalCount  Values
1     1      B    40%          65      40
0     2      A    35%          89      45
3     3      D    15%          80      56
2     4      C    42%          42      60

相关问题