首页 > 解决方案 > 如何在有序(有序)数字列中填充 NA 值

问题描述

我有一个这样的列,其中包含 NaN 值

**

Num

10,
11,
NaN,
13
14,
NaN,
16
17
18
19

**

我需要按照这样的现有值顺序填充 NA 值,**

Num
10,
11,
12,
13
14,
15,
16
17
18
19

**

标签: pythonpandas

解决方案


这就像使用线性一样简单interpolation

df['Num'].interpolate()

Num
10
11
12
13
14
15
16
17
18
19

请注意,有些行似乎带有逗号(即,字符)以及数字,这将导致您的列是objectdtype。您可能想要强制为此使用数字 dtypes,在这种情况下,您必须在使用插值之前执行以下操作:

df['Num'] =  pd.to_numeric(df['Num'].str.strip(','), errors='coerce')

推荐阅读