Точность о методе = ‘ffill’ в Pandas

#python #pandas

#python #pandas

Вопрос:

У меня есть фрейм данных в pandas с первой строкой, полностью состоящей из NaN , за исключением первого случая, который равен 0, и я хочу NaN заполнить 0 его, распространив первый случай.

Я попробовал этот подход, но он не сработал, может кто-нибудь объяснить мне, почему?

 import pandas as pd
import numpy as np

d1 = pd.DataFrame(np.arange(16).reshape(4,4))
d1.iloc[0,1:] = np.nan
print(d1)
d1.fillna(method='ffill',inplace=True)
print(d1)
  

Печать фрейма данных до и после fillna()

печать фрейма данных до и после fillna()

Ответ №1:

Вы должны указать fillna() , чтобы заполнить горизонтально:

 d1 = d1.fillna(method='ffill', axis=1)
  

Кажется, что для axis=1 inplace=True не реализовано. Поэтому вы должны присвоить результат обратно d1 .

Комментарии:

1. извините, это не работает. но, я думаю, что axis = 1 заполняет его вертикально, нет? поскольку axis = 1 — это столбцы