TypeError:无法连接非NDFrame对象 [英] TypeError: cannot concatenate a non-NDFrame object
本文介绍了TypeError:无法连接非NDFrame对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这个DatetimeIndex:
I have this 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
:
I want to take dates and append them to my 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
:
If length of df
is same as DatetimeIndex
and need create index
:
df.index = dates
如果不尝试按index
的长度进行过滤,则与df
的长度相同:
If not try filter by length of index
what is same as length of df
:
df.index = dates[:len(df.index)]
如果需要新列:
df['a'] = dates
如果不是:
df['a'] = dates[:len(df.index)]
如果只需要使用前5个值:
If need use only first 5 values:
df['a'] = dates[:5]
我认为您需要 union
将索引连接到dates
,然后 reindex
:
I think you need union
for concatenate index to dates
and then 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
这篇关于TypeError:无法连接非NDFrame对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文