다음 데이터 프레임의 각 행의 합을 구해서 열로 만들어보자
import pandas as pd
data = {'colA':[1, 2, 3], 'colB':[4, 5, 6]}
df = pd.DataFrame(data)
df:
각 행의 합을 구해보자 아래와 같은 코드로 가능하다
df.sum(axis=1)
각 행의 합을 하나의 열로 만들어주자. 열의 이름은 sum of cols 로 만들자
당연히 아래와 같은 배정방식으로 열만들기를 하면 만들 수 있다
df['sum of cols'] = df.sum(axis=1)
df:
배정 방식을 사용하면 간단하지만 여러가지 이유로 (inplace(덮어쓰기)를 피하기 위하거나 여러개의 열을 생성할 경우) 열을 만드는 함수 assign을 사용할 때는 열 이름에 특수문자(이 경우 공백)가 있어서 인자(parameter)가 될 수 없어 에러가 발생한다
df.assign(sum of cols=df.sum(axis=1))
SyntaxError: invalid syntax. Perhaps you forgot a comma?
이때는 **kwargs(keyword arguments)를 사용해 딕셔너리로 인자와 인수를 입력하면 된다.
딕셔너리의 key는 문자열로 입력해야 하는 것에 주의
df.assign(**{'sum of cols': df.sum(axis=1)})
실무에서는 그리고 판다스에 숙달될수록 assign으로 열을 만들 때가 더 많으므로 알아두자
유튜브에서 판다스 강의 중입니다
https://www.youtube.com/@KimPandas
'판다스 > 판다스 팁' 카테고리의 다른 글
[pandas] 데이터 프레임에서 퍼센트(%)로 수치를 표기하는 방법 (0) | 2023.05.26 |
---|---|
[pandas] 주피터 노트북에서 여러개의 데이터 프레임을 가로로 출력하기 (0) | 2023.05.26 |
[pandas] 구글 코랩과 주피터 노트북 비교 : 파일에서 데이터 프레임을 불러오는 방식의 차이 (0) | 2023.05.25 |
[pandas] 데이터 프레임 2개를 concat할 때 열을 교대로 concat하는 방법 (0) | 2023.05.04 |
[pandas] 24시를 넘는 시간표기를 정상적인 datetime으로 바꾸는 방법 (0) | 2023.05.02 |