Панды - Использование '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
Другие вопросы по тегам