pandas:产生NaN值的Join函数

2024-09-28 21:08:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个数据帧我需要加入

df1看起来像这样--

    Year             President            Party   
0   1920         Woodrow Wilson      Democratic     
1   1921      Warren G. Harding      Republican     
2   1922      Warren G. Harding      Republican

df2看起来像这样(道琼斯回报)

^{pr2}$

我试图用df2连接df1:table=df1.join(df2)

但是,当我这样做时,表中的Value列被缩减为所有nan。 有人能指导我吗。谢谢您。。。!在


Tags: 数据partytableyeardf1df2warrenwilson
1条回答
网友
1楼 · 发布于 2024-09-28 21:08:54

map+assign

  • map构建一个字典,其中df2s索引的year是键,df2's值是值。在
  • mapdf1sYear列一起使用。在
  • assign这将添加到附加到df1的新列Value

df1.assign(Value=df1.Year.map(dict(zip(df2.index.year, df2.Value))))

   Year          President       Party     Value
0  1920     Woodrow Wilson  Democratic       NaN
1  1921  Warren G. Harding  Republican  0.127172
2  1922  Warren G. Harding  Republican  0.217386

join

否则,您可以像这样继续使用join

^{pr2}$

相关问题 更多 >