我有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
与其中year
的df2
S指数是键和df2's
Value`是的值。map
与df1
sYear
列一起使用。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] 删除。
我来说两句