음수 값을 가장 최근의 양수 값으로 바꾸고 싶습니다. 이를 통해 양수 선행 값이 없으면 값이 0으로 업데이트되어야 합니다.
입력
예를 들어, 입력은 -
DataFrame: One two 0 -2 -3 1 4 -7 2 6 5 3 0 -9
출력
출력은 다음과 같아야 합니다. -
One two 0 0 0 1 7 0 2 4 2 3 0 2
데이터 프레임 마스킹은 음수 값을 대체하는 데 사용됩니다. 누락된 값을 채우기 위해 정방향 채우기를 사용했습니다. 먼저 pandas 데이터 프레임을 생성해 보겠습니다 -
# create pandas dataframe df = pd.DataFrame({'One': [-3, 7, 4, 0], 'two': [-6, -1, 2, -8]})
마스킹을 해보자 -
df = df.mask(df.lt(0)).ffill().fillna(0).astype('int32')
예시
다음은 코드입니다 -
import pandas as pd # create pandas dataframe df = pd.DataFrame({'One': [-3, 7, 4, 0],'two': [-6, -1, 2, -8]}) # displaying the DataFrame print"DataFrame: \n",df # masking df = df.mask(df.lt(0)).ffill().fillna(0).astype('int32') # displaying the updated DataFrame print"\nUpdated DataFrame: \n",df
출력
이것은 다음과 같은 출력을 생성합니다 -
DataFrame: One two 0 -3 -6 1 7 -1 2 4 2 3 0 -8 Updated DataFrame: One two 0 0 0 1 7 0 2 4 2 3 0 2