映射DataFrame索引并向前填充nan值

时间:2019-01-14 07:20:19

标签: python pandas dataframe

我有一个带有整数索引的DataFrame,这些整数索引缺少一些值(即不等距),我想创建一个新的DataFrame,它具有等距的索引值和前向填充列值。下面是一个简单的示例:

import pandas as pd
df = pd.DataFrame(['A', 'B', 'C'], index=[0, 2, 4])
    0
0   A
2   B
4   C

想在上面使用并创建:

    0
0   A
1   A
2   B
3   B
4   C

3 个答案:

答案 0 :(得分:1)

使用reindexffill

df = df.reindex(range(df.index[0],df.index[-1]+1)).ffill()

print(df)
   0
0  A
1  A
2  B
3  B
4  C

答案 1 :(得分:1)

reindexmethod='ffill'一起使用:

df = df.reindex(np.arange(0, df.index.max()+1), method='ffill')

或者:

df = df.reindex(np.arange(df.index.min(), df.index.max() + 1), method='ffill')

print (df)
   0
0  A
1  A
2  B
3  B
4  C

答案 2 :(得分:1)

您可以这样做:

In [319]: df.reindex(list(range(df.index.min(),df.index.max()+1))).ffill()
Out[319]: 
   0
0  A
1  A
2  B
3  B
4  C