Панды - Использование 'ffill' для значений, отличных от Na
Есть ли способ использовать ffill
метод значений, которые не являются NaN
?
я имею NaN
в моем фрейме данных, но я добавил эти NaN
с помощью
addNan = sample['colA'].replace(['A'], 'NaN')
Так что это то, что мой DataFrame, df
похоже
ColA ColB ColC ColD
B A A C
NaN B A A
C D D A
NaN A A B
И я пытаюсь заполнить эти NaN
с помощью ffill
поэтому они заполняются последним известным значением.
fill = df.fillna(method='ffill', inplace = True)
Это не имеет значения, также пытался Na
вместо NaN
1 ответ
Я думаю, вам нужно сначала заменить NaN
в np.nan
, так как NaN
это только текст:
import pandas as pd
import numpy as np
print (sample)
ColA ColB ColC ColD
0 B A A C
1 A B A A
2 C D D A
3 A A A B
sample['ColA'] = sample['ColA'].replace(['A'], np.nan)
print (sample)
ColA ColB ColC ColD
0 B A A C
1 NaN B A A
2 C D D A
3 NaN A A B
Если использовать inplace = True
, это возвращение None
, но введите значения заполнения:
sample.fillna(method='ffill', inplace = True)
#sample.ffill(inplace = True)
print (sample)
ColA ColB ColC ColD
0 B A A C
1 B B A A
2 C D D A
3 C A A B