大熊猫:连接函数产生NaN值

真正的农村

我有2个数据框需要加入;

df1看起来像这样-

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

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

               Value
Date                
1920-12-31       NaN         
1921-12-31  0.127172         
1922-12-31  0.217386

我正在尝试将df1与df2连接:table = df1.join(df2)

但是,当我这样做时,表中的“值”列将减少为所有NaN。有人可以指导我吗。谢谢...!

海盗

map + assign

  • 构建一个字典到map与其中yeardf2S指数是键和df2'sValue`是的值。
  • mapdf1sYear一起使用
  • assign这到Value附加到的新列df1

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这样

df1.join(df2.set_index(df2.index.year), on='Year')

   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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章