如何设置为空值序列号?



我有以下数据帧

id val
1  40
2  null
3  null 
4  30
5  null

我想得到

id val
1  40
2  1
3  2 
4  30
5  3

我试过这样做

df_1['val'][df_1['val'].isnull()] 
= df_1['val'][df_1['val'].isnull()].ffill() + df_1[df_1['val'].isnull()].count()

但是这行不通

您可以设置range通过计数NaN通过布尔掩码的sum,最后解析值为整数:

m = df_1['val'].isnull()
df_1.loc[m, 'val'] = range(1, m.sum() + 1)
df_1['val'] = df_1['val'].astype(int)
print (df_1)
id  val
0   1   40
1   2    1
2   3    2
3   4   30
4   5    3

相关内容

  • 没有找到相关文章

最新更新