给出一个DataFrame
,该索引具有单调递增的索引,例如
values
100 10
200 9
300 15
400 7
我想通过复制最后一个值来扩展它,并自动继续索引(或者通过提供步骤,这仍然可以):
values
100 10
200 9
300 15
400 7
500 7
600 7
700 7
目前,我正在使用新值(和新索引)创建一个新的DataFrame,并且我正在使用new.combine_first(old)
。有没有更清洁的方法?
答案 0 :(得分:2)
您可以通过以下方式建立新索引
index = 100 * pd.RangeIndex(start=1, stop=7)
并使用它为您的DataFrame重新编制索引,并使用Forwardfill填充创建的NaN值。
df = df.reindex(index).fillna(method='ffill')
答案 1 :(得分:1)
不确定这是否比您目前拥有的更好,但这会导致所需的输出:
index_delta = df.index[-1] - df.index[-2]
max_index = 700
df2 = pd.DataFrame({'values': df.values[-1]}, index=range(df.index[-1], max_index + index_delta, index_delta))
print(pd.concat([df, df2]))
产量:
values
100 10
200 9
300 15
400 7
400 7
500 7
600 7
700 7