我需要加入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)
但是当我这样做时,表中的Value列将缩减为所有NaN。 有人可以指导我这个。谢谢......!
答案 0 :(得分:1)
map
+ assign
map
构建一个词典,其中year
的{{1}}索引是键,df2
值`是值。df2's
与map
s df1
列一起使用。Year
这是一个附加到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