我想在数据框末尾添加几个月。
使用日期将另外六个(或12个月)的数据附加到此类数据框中的最佳方法是什么?
0 2013-07-31
1 2013-08-31
2 2013-09-30
3 2013-10-31
4 2013-11-30
谢谢
答案 0 :(得分:1)
编辑:我想您可能想要pd.date_range
df = pd.DataFrame({'date':['2010-01-31', '2010-02-28'], 'x':[1,2]})
df['date'] = pd.to_datetime(df.date)
date x
0 2010-01-31 1
1 2010-02-28 2
然后
df.append(pd.DataFrame({'date': pd.date_range(start=df.date.iloc[-1], periods=6, freq='M', closed='right')}))
date x
0 2010-01-31 1.0
1 2010-02-28 2.0
0 2010-03-31 NaN
1 2010-04-30 NaN
2 2010-05-31 NaN
3 2010-06-30 NaN
4 2010-07-31 NaN
答案 1 :(得分:0)
研究了append和其他循环类型的选项后,我创建了这个:
Result of first two input:
current gradients is: IndexedSlicesValue(values=array([[0.25],
[0.25]], dtype=float32), indices=array([6, 3]), dense_shape=array([15, 1], dtype=int32))
current gradients is: IndexedSlicesValue(values=array([[0.25],
[0.25]], dtype=float32), indices=array([10, 9]), dense_shape=array([15, 1], dtype=int32))
current gradients is: IndexedSlicesValue(values=array([[0.25],
[0.25]], dtype=float32), indices=array([13, 12]), dense_shape=array([15, 1], dtype=int32))
current gradients is: [0.5]
这是我得到的dt。它给出了适当的结束月份天数。
length = df.shape [ 0 ]
add = 12
start = df [ 'month' ].iloc [ 0 ]
count = int ( length + add )
dt = pd.date_range ( start, periods = count, freq = 'M' )
现在我只需要更改DatetimeIndex。
我希望这是好的代码。干杯。