6.4.3 데이터프레임 수정 대입
[실전 꿀팁]: 축(Axis) 방향과 데이터 할당
axis=0: “Row를 뭉갠다” -> 위아래로 세로 계산하여 각 열(Column)의 합계를 구합니다.axis=1: “Column을 뭉갠다” -> 좌우로 가로 계산하여 각 행(Row)의 합계를 구합니다.- 새로운 열 추가 시
df['새로운열'] = 값이 가장 직관적입니다. 반면df.assign(새로운열=값)함수를 쓰면 원본df는 손상시키지 않고 새로운 열이 추가된 복사본 뷰 전체를 반환받아 안전하게 작업할 수 있습니다.
다음 코드 df[['사망(명)', '부상(명)']].sum(axis=1)로 모든 행의 ‘사망(명)’과 ‘부상(명)’의 합을 구해보자.
df[['사망(명)', '부상(명)']].sum(axis=1)
다음 코드 df.iloc[:, 1:].sum(axis=1)으로도 모든 행의 ‘사망(명)’과 ‘부상(명)’의 합을 구할 수 있다.
df.iloc[:, 1:].sum(axis=1)
새로운 df2를 만들어 ‘사망(명)’+’부상(명)’의 합을 ‘재해자수’ 열에 대입해 보자.
df2 = df.copy()
df2['재해자수'] = df[['사망(명)', '부상(명)']].sum(axis=1)
print(df2)
마지막에 새로운 행 ‘총계’를 만들어 모든 열의 합을 추가해 보자. 다음처럼 대입하면 axis=0는 생략 가능하다.
df2.loc['총계'] = df2.sum(axis=0)
print(df2)
서브목차