gpt4 book ai didi

Python Pandas 根据时间序列中缺失的顺序值添加行

转载 作者:太空狗 更新时间:2023-10-30 02:29:50 24 4
gpt4 key购买 nike

我是 python 的新手,并且很难在 pandas 库中操作数据。我有一个像这样的 Pandas 数据库:

    Year  Value
0 91 1
1 93 4
2 94 7
3 95 10
4 98 13

并希望用空值创建行来完成缺失的年份,如下所示:

    Year  Value
0 91 1
1 92 0
2 93 4
3 94 7
4 95 10
5 96 0
6 97 0
7 98 13

我如何在 Python 中做到这一点?(我想这样做,这样我就可以在不跳过年份的情况下绘制值)

最佳答案

我会创建一个新的数据框,将 Year 作为索引并包含您需要涵盖的整个日期范围。然后你可以简单地设置两个数据帧的值,索引将确保它们匹配正确的行(我不得不使用 fillna 将缺失的年份设置为零,默认情况下它们将被设置为 NaN):

df = pd.DataFrame({'Year':[91,93,94,95,98],'Value':[1,4,7,10,13]})
df.index = df.Year
df2 = pd.DataFrame({'Year':range(91,99), 'Value':0})
df2.index = df2.Year

df2.Value = df.Value
df2= df2.fillna(0)
df2
Value Year
Year
91 1 91
92 0 92
93 4 93
94 7 94
95 10 95
96 0 96
97 0 97
98 13 98

最后,如果您不想将 Year 作为索引,您可以使用 reset_index:

df2.drop('Year',1).reset_index()

Year Value
0 91 1
1 92 0
2 93 4
3 94 7
4 95 10
5 96 0
6 97 0
7 98 13

关于Python Pandas 根据时间序列中缺失的顺序值添加行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30564610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com