#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()
Ответ №1:
Вы должны указать fillna()
, чтобы заполнить горизонтально:
d1 = d1.fillna(method='ffill', axis=1)
Кажется, что для axis=1
inplace=True
не реализовано. Поэтому вы должны присвоить результат обратно d1
.
Комментарии:
1. извините, это не работает. но, я думаю, что axis = 1 заполняет его вертикально, нет? поскольку axis = 1 — это столбцы