熊猫:自动扩展数据框并增加索引

时间:2018-07-14 12:30:22

标签: python pandas dataframe

给出一个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)。有没有更清洁的方法?

2 个答案:

答案 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