我有这个日期时间索引:
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>')
我想获取日期并将它们附加到我的数据框中df
:
for i in xrange(0,5):
df.append(dates[i],ignore_index=True)
我收到这个错误TypeError: cannot concatenate a non-NDFrame object
.
UPDATE:
的样本数据df
:
Out[85]:
2017-06-05 -0.944868
2017-06-06 0.073623
2017-06-07 -0.687232
Freq: <DateOffset>, dtype: float64
如果长度为df
与DatetimeIndex
并需要创建index
:
df.index = dates
如果没有尝试按长度过滤index
什么与 的长度相同df
:
df.index = dates[:len(df.index)]
如果需要新列:
df['a'] = dates
If not:
df['a'] = dates[:len(df.index)]
如果需要仅使用前 5 个值:
df['a'] = dates[:5]
EDIT:
我想你需要union http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Index.union.html用于将索引连接到dates
进而reindex http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.reindex.html:
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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)