Pandas:用列中已有的特定有序值填充缺少的索引。

2024-09-28 01:31:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我提取了一个具有特定值的单列数据帧。现在数据帧是这样的:

           Commodity  
0              Cocoa
4             Coffee
6              Maize
7               Rice
10             Sugar
12             Wheat

现在我想分别用列中它上面的值填充每个没有值的索引,这样它应该如下所示:

^{pr2}$

在处理文本数据时,我似乎没有从pandas文档中得到任何东西。谢谢你的帮助!在


Tags: 数据文档文本pandassugarcoffeericecocoa
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

首先展开索引以包含所有数字

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

^{pr2}$

相关问题 更多 >

    热门问题