私はこの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
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