특정 조건에서 열과 행의 값 교체 [중복]

Dec 03 2020

다음과 같은 팬더 데이터 프레임이 있습니다.

열의 값 'A start'이 음수 인지 확인하고 싶습니다 . 만일 스왑 열의 값보다 제외 'start'하고 'end'및 열들 'A start''A end'행의 어디에

'A start'음수 값이 있습니다. 따라서 결과는 다음과 같아야합니다.

나는 그것을 해결하려고했지만 where작동하지 않습니다.

저는 파이썬 3.8을 사용하고 있습니다.

당신의 도움을 주셔서 대단히 감사합니다.

답변

AasthaSethia Dec 03 2020 at 20:37

이 게시물을보세요. 귀하의 질문과 유사합니다. 알려주지 않으면 다른 옵션을 찾을 수 있습니다.

한 줄만 사용하여 pandas 데이터 프레임에서 선택한 행의 열 값을 바꾸는 올바른 구문은 무엇입니까?

kirtipurohit Dec 03 2020 at 20:42

다음을 사용하는 가장 간단한 방법은 다음과 같습니다. where


df = pd.DataFrame()
df['start']   = [1,5,7,2]
df['end']     = [4,6,8,9,]
df['A start'] = [234, -475, -765, 113]
df['A end']   = [-654, 312, 987, -553]


df[['A start','A end']] = df[['A end','A start']].where(df['A start'] < 0 , df[['A start','A end']].values)
df

산출: