我是python的新手并且正在努力操纵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中执行此操作? (我想这样做,所以我可以绘制值而不会跳过几年)
答案 0 :(得分:6)
我会创建一个新的数据框,其中包含年份作为索引,并包含您需要涵盖的整个日期范围。然后你可以简单地设置两个数据帧的值,索引将确保它们匹配正确的行(我必须使用fillna将缺失的年份设置为零,默认情况下它们将设置为{ {1}}):
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
:
reset_index