我尝试了几个有关此主题的示例,但没有结果。我正在读取一个DataFrame像:

Code,Counts
10006,5
10011,2
10012,26
10013,20
10014,17
10015,2
10018,2
10019,3


我如何获得另一个DataFrame,如:

Code,Counts
10006,5
10007,NaN
10008,NaN
...
10011,2
10012,26
10013,20
10014,17
10015,2
10016,NaN
10017,NaN
10018,2
10019,3


基本上是填写“代码”列的缺失值?我尝试了df.reindex()方法,但无法弄清楚它是如何工作的。非常感谢。

最佳答案

我将为您的“代码”列设置索引,然后根据当前索引传入一个新数组作为reindexarange接受一个开始和结束参数(您需要在末尾加1),然后reset_index这假设您的“代码”值已经排序:

In [21]:

df.set_index('Code', inplace=True)
df = df.reindex(index = np.arange(df.index[0], df.index[-1] + 1)).reset_index()
df
Out[21]:
     Code  Counts
0   10006       5
1   10007     NaN
2   10008     NaN
3   10009     NaN
4   10010     NaN
5   10011       2
6   10012      26
7   10013      20
8   10014      17
9   10015       2
10  10016     NaN
11  10017     NaN
12  10018       2
13  10019       3

关于python - Pandas Reindex-用缺失值填充列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28414020/

10-12 16:59