我有一个带有整数索引的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
答案 0 :(得分:1)
使用reindex
和ffill
:
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)
将reindex
与method='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