重新采样熊猫数据框并用零填充新行

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

【讨论】:

以上是关于重新采样熊猫数据框并用零填充新行的主要内容,如果未能解决你的问题,请参考以下文章

根据不均匀的日期重新索引熊猫数据框,然后用 groupby 和空白填充某些值

熊猫插值是填充 nan 而不是插值

点击按钮后在两个文本区域中添加新行并用文本填充它们

熊猫数据框每天重新采样,没有日期时间索引

熊猫数据框每天重新采样,没有日期时间索引

熊猫合并用空值填充新数据框