TypeError:无法连接非NDFrame对象

时间:2017-07-18 12:43:25

标签: python pandas datetimeindex

我有这个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

1 个答案:

答案 0 :(得分:4)

如果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