重新采样熊猫数据框并用零填充新行
Posted
技术标签:
【中文标题】重新采样熊猫数据框并用零填充新行【英文标题】:resampling a pandas dataframe and filling new rows with zero 【发布时间】:2022-01-12 15:06:36 【问题描述】:我有一个时间序列作为数据框。第一列是周数,第二列是该周的值。第一周 (22) 和最后一周 (48) 是时间序列的下限和上限。缺少一些周,例如,没有第 27 周和第 28 周。我想重新采样这个系列,以便没有丢失的周。在插入一周的地方,我希望相应的值为零。这是我的数据:
week value
0 22 1
1 23 2
2 24 2
3 25 3
4 26 2
5 29 3
6 30 3
7 31 3
8 32 7
9 33 4
10 34 5
11 35 4
12 36 2
13 37 3
14 38 10
15 39 5
16 40 7
17 41 10
18 42 11
19 43 15
20 44 9
21 45 13
22 46 5
23 47 6
24 48 2
我想知道这是否可以在 Pandas 中实现,而无需从头开始创建循环。我查看了 pd.resample,但无法达到我想要的结果。
【问题讨论】:
【参考方案1】:我会将week
设置为索引,使用fill_value
选项重新索引:
start, end = df['week'].agg(['min','max'])
df.set_index('week').reindex(np.arange(start, end+1), fill_value=0).reset_index()
输出(头部):
week value
0 22 1
1 23 2
2 24 2
3 25 3
4 26 2
5 27 0
6 28 0
7 29 3
8 30 3
【讨论】:
以上是关于重新采样熊猫数据框并用零填充新行的主要内容,如果未能解决你的问题,请参考以下文章