如何使用Pandas填写范围内的缺失值?

时间:2016-02-08 19:26:48

标签: python pandas

我有一个包含多个值的数据集,如下所示。

>>> a.head()
   value  freq
3      9     1
2     11     1
0     12     4
1     15     2

我需要在值列中填写整数之间的值。例如,我需要在9&之间插入一个新行。 11填充零,然后另外两个12-15之间。最终结果应该是9-15的数据集,其中缺少'行为全为零。

无论如何在不替换数据的情况下在特定位置插入新行?我发现的唯一方法是将数据帧切片到一个位置,然后附加一个新行并连接其余部分。

更新:索引完全不相关,所以不用担心。

1 个答案:

答案 0 :(得分:6)

你没有说出你的指数会发生什么,所以我认为它不重要。

In [12]: df.index = df['value']

In [15]: df.reindex(np.arange(df.value.min(), df.value.max() + 1)).fillna(0)
Out[15]:
       value  freq
value
9          9     1
10         0     0
11        11     1
12        12     4
13         0     0
14         0     0
15        15     2