我有一个DatetimeIndex:
dates = DatetimeIndex(['2017-06-09', '2017-06-10', '2017-06-11', '2017-06-12',
'2017-06-13', '2017-06-14'],
dtype='datetime64[ns]', freq='<DateOffset>')
我想把日期附加到我的DataFrame df
上
for i in xrange(0,5):
df.append(dates[i],ignore_index=True)
我得到了这个错误TypeError: cannot concatenate a non-NDFrame object
。
更新:
df
样本数据
Out[85]:
2017-06-05 -0.944868
2017-06-06 0.073623
2017-06-07 -0.687232
Freq: <DateOffset>, dtype: float64
发布于 2017-07-18 12:45:10
如果df
的长度与DatetimeIndex
相同,需要创建index
df.index = dates
如果不尝试按index
长度进行筛选,那么与df
长度相同的是什么?
df.index = dates[:len(df.index)]
如果需要新列:
df['a'] = dates
若否,则:
df['a'] = dates[:len(df.index)]
如果需要,只使用前5个值:
df['a'] = dates[:5]
编辑:
我认为您需要union
将索引连接到dates
,然后连接到reindex
:
df = df.reindex(df.index.union(dates), fill_value=-0.944868)
print (df)
2017-06-05 -0.944868
2017-06-06 0.073623
2017-06-07 -0.687232
2017-06-09 -0.944868
2017-06-10 -0.944868
2017-06-11 -0.944868
2017-06-12 -0.944868
2017-06-13 -0.944868
2017-06-14 -0.944868
Name: <DateOffset>, dtype: float64
https://stackoverflow.com/questions/45167175
复制相似问题