我提取了一个具有特定值的单列数据框。现在这就是数据框的样子:
Commodity
0 Cocoa
4 Coffee
6 Maize
7 Rice
10 Sugar
12 Wheat
现在我想分别在列中填充每个没有值的索引以及它上面的值,所以看起来应该是这样的:
Commodity
0 Cocoa
1 Cocoa
2 Cocoa
3 Cocoa
4 Coffee
5 Coffee
6 Maize
7 Rice
8 Rice
9 Rice
10 Sugar
11 Sugar
12 Wheat
我似乎没有从pandas文档中获取任何内容使用Text Data。谢谢你的帮助!
答案 0 :(得分:2)
我使用pd.RangeIndex
创建了一个新索引。它的工作方式与range
类似,因此我需要将其传递给当前索引中的最大数字。
df.reindex(pd.RangeIndex(df.index.max() + 1)).ffill()
Commodity
0 Cocoa
1 Cocoa
2 Cocoa
3 Cocoa
4 Coffee
5 Coffee
6 Maize
7 Rice
8 Rice
9 Rice
10 Sugar
11 Sugar
12 Wheat
答案 1 :(得分:1)
首先展开索引以包含所有数字
s = pd.Series(['Cocoa', 'Coffee', 'Maize', 'Rice', 'Sugar', 'Wheat',], index=[0,4,6,7,10, 12], name='Commodity')
s = s.reindex(range(s.index.max() + 1))
然后执行backfill
s.bfill()