【发布时间】:2016-09-22 22:43:28
【问题描述】:
给定两个DataFrames:
#df1
value Symbol Date Type Value
1109914 AUD 2016-01-29 value 64587.9121
1109949 CAD 2016-01-29 value 65357.1429
1109970 CHF 2016-01-29 value 111881.8681
1110012 DX 2016-01-29 value 91256.4103
#df2
volas Symbol Date Type Value
1109915 AUD 2016-01-29 vola 518.5091
1109950 CAD 2016-01-29 vola 360.9474
1109971 CHF 2016-01-29 vola 767.1880
1110013 DX 2016-01-29 vola 495.8913
1110041 EUR 2016-01-29 vola 876.6861
1110062 GBP 2016-01-29 vola 462.6425
如果我想从 df2 向 df1 添加一个列,我自然会试试这个:
df1["volas"] = df2["Value"]
但是,这会返回一个带有 nan 值的系列(并因此用此类填充新列):
1109921 NaN
1110089 NaN
1110138 NaN
1110159 NaN
1110257 NaN
1110450 NaN
1110618 NaN
1110667 NaN
1110688 NaN
但是,如果我这样做:
market_values['Volas'] = [i for i in market_volas.Value]
按预期分配值。
为什么? 我根本看不出问题出在哪里,尤其是因为建议我最初尝试here。
【问题讨论】:
-
索引不对齐,所以你得到
NaN第二次尝试添加没有关联索引值的标量值,这就是它起作用的原因
标签: python python-3.x pandas dataframe