需要一些帮助来解决我的数据帧返回所有NaN的原因。
print df
0 1 2 3 4
0 1 9 0 7 30
1 2 8 0 4 30
2 3 5 0 3 30
3 4 3 0 3 30
4 5 1 0 3 30
然后我添加了日期索引。我只需要增加一天,持续5天。
date = pd.date_range(datetime.datetime.today(), periods=5)
data = DataFrame(df, index=date)
print data
0 1 2 3 4
2014-04-10 17:16:09.433000 NaN NaN NaN NaN NaN
2014-04-11 17:16:09.433000 NaN NaN NaN NaN NaN
2014-04-12 17:16:09.433000 NaN NaN NaN NaN NaN
2014-04-13 17:16:09.433000 NaN NaN NaN NaN NaN
2014-04-14 17:16:09.433000 NaN NaN NaN NaN NaN
尝试了几件不同的事情但无济于事。如果我将原始数据帧切换到
np.random.randn(5,5)
然后它有效。任何人都知道这里发生了什么?
编辑:要添加数据类型为float64
print df.dtypes
0 float64
1 float64
2 float64
3 float64
4 float64
dtype: object
答案 0 :(得分:1)
您应该使用以下内容覆盖原始数据框的索引:
df.index = date
DataFrame(df, index=date)
所做的是通过将index
的值与正在使用的df
相匹配来创建新数据框,例如:
DataFrame(df, index=[0,1,2,5,5])
返回以下内容:
0 1 2 3 4
0 1 9 0 7 30
1 2 8 0 4 30
2 3 5 0 3 30
5 NaN NaN NaN NaN NaN
5 NaN NaN NaN NaN NaN
因为5
未包含在原始数据框的索引中。