python-3.x - 重新采样 pandas 数据框并用零填充新行

标签 python-3.x pandas dataframe pandas-resample

我有一个时间序列作为数据框。第一列是周数,第二列是该周的值。第一周 (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,但无法达到我想要的结果。

最佳答案

我会将 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

关于python-3.x - 重新采样 pandas 数据框并用零填充新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70261880/

相关文章:

r - 将行与列匹配并计算相同的出现次数 R

python - 让父类使用子类记录器名称

python - 如何将python列表转换为Pandas系列

python - 随机修改数据帧值

python - 带有递增值的 Pandas fillna

python - 如何将 pandas DataFrame 中的列取消嵌套(分解)为多行

python - 如果 df1 中的工作表名称与字符串值匹配,我如何将 df2 复制到 df1

Python奇数运算?

python - 如何使用python检查youtube视频是否存在?

python - pandas 列中的比较运算符