我预测下个月的总销售额,并将日期设置为数据框中的索引。如何计算新的即将到来的月份作为索引并将其放在同一数据框中的新行中?
我在下面使用此代码从上一个日期获取新日期:
from datetime import timedelta
last_date = df.iloc[[-1]].index
last_date = last_date + timedelta(days=30)
df= df.append(pd.DataFrame(index=[last_date]))
df.tail()
但是输出似乎不正确。我希望新的即将发布的索引的结果如下所示:
2017-07-30
但是,相反,输出是这样的:
((2017-07-30 00:00:00,)
如何删除时间以及那里不必要的符号?
您很接近,为避免出现[]
,请移除MultiIndex
:
df = df.append(pd.DataFrame(index=last_date))
样本:
from datetime import timedelta
rng = pd.date_range('2017-04-03', periods=3)
df = pd.DataFrame({'a': range(3)}, index=rng)
last_date = df.iloc[[-1]].index
last_date = last_date + timedelta(days=30)
df = df.append(pd.DataFrame(index=last_date))
print (df)
a
2017-04-03 0.0
2017-04-04 1.0
2017-04-05 2.0
2017-05-05 NaN
使用[]
测试DataFrame的索引:
df = pd.DataFrame(index=[last_date])
print (df.index)
MultiIndex([('2017-05-05',)],
)