여러 개의 열 [ 'x', 'y', 'z']이있는 데이터 프레임 df가있는 경우 'x'하나의 열만 채우는 방법 또는 [ 'x', 'y']?팬더 데이터 프레임의 특정 열을 앞으로 채우기
나는 축으로 만 수행하는 방법을 알고 있습니다.
여러 개의 열 [ 'x', 'y', 'z']이있는 데이터 프레임 df가있는 경우 'x'하나의 열만 채우는 방법 또는 [ 'x', 'y']?팬더 데이터 프레임의 특정 열을 앞으로 채우기
나는 축으로 만 수행하는 방법을 알고 있습니다.
@Woody Pride에서 제안한 for 루프는 필요하지 않습니다. 당신은 그것을 줄일 수
cols = ['X', 'Y']
df[cols] = df[cols].ffill()
그리고 나는 또한 자체 포함 된 예를 추가했습니다 :
>>> import pandas as pd
>>> import numpy as np
>>>
>>> #%% create dataframe
... ts1 = [0, 1, np.nan, np.nan, np.nan, np.nan]
>>> ts2 = [0, 2, np.nan, 3, np.nan, np.nan]
>>> d = {'X': ts1, 'Y': ts2, 'Z': ts2}
>>> df = pd.DataFrame(data=d)
>>> print(df.head())
X Y Z
0 0 0 0
1 1 2 2
2 NaN NaN NaN
3 NaN 3 3
4 NaN NaN NaN
>>>
>>> #%% apply forward fill
... col = ['X', 'Y']
>>> df[col] = df[col].ffill()
>>> print(df.head())
X Y Z
0 0 0 0
1 1 2 2
2 1 2 NaN
3 1 3 3
4 1 3 NaN
(일반적으로 내가 @Woody 프라이드의 대답에 댓글을 것입니다,하지만 난 담당자가 없습니다.)
for col in ['X', 'Y']:
df[col] = df[col].ffill()