반응형
위와 같은 엑셀 데이터가 있다고 하자. 이 데이터를 pandas 라이브러리를 활용해 데이터 프레임의 형태로 만든 다음, 과일의 이름별로 그룹화를 해보려고 한다. 그룹화는 간단한 집계를 넘어서서 조건부로 집계하고 싶은 경우에 사용한다.
1
2
3
4
5
6
7
|
import pandas as pd
df = pd.read_excel('230412.xlsx')
display(df)
df = df.groupby(['이름', '원산지']).sum()
display(df)
|
cs |
read_excel() 함수를 사용하여 데이터 프레임을 형성한 결과는 위와 같다. 참고로 그룹화의 기준이 될 열은 여러 개 선택할 수 있다. 이 데이터 프레임에서 '이름'과 '원산지' 열을 기준으로 그룹화를 한 결과는 다음과 같다.
귤과 원산지별로 데이터가 정리된 것을 볼 수 있다.
1
2
3
4
5
6
7
|
import pandas as pd
df = pd.read_excel('230412.xlsx')
display(df)
df = df.groupby(['이름']).sum()
display(df)
|
cs |
'이름' 열을 기준으로 그룹화를 한 뒤에 sum()을 입력해 더해보면 과일 별로 가격의 합계가 표출된다. 다만 FutureWarning이라는 메시지가 발생한다. 이 메시지가 발생했을 때 당장 문제가 되는 것은 없다. groupby라는 그룹화 함수의 나머지 키워드 인자를 입력하도록 요구하는 것이다. 현재는 sum() 함수를 사용했을 때 내용을 입력하지 않아도 기본적으로 숫자만 연산하도록 설정이 되어있는데 향후에는 이것이 False로 변경되어 사용자가 합계 연산을 원하는 열을 선택해줘야 한다는 뜻이다.
1
2
3
4
5
6
7
|
import pandas as pd
df = pd.read_excel('230412.xlsx')
display(df)
df = df.groupby(['이름'], sort = True).sum(['가격'])
display(df)
|
cs |
따라서 '이름' 열을 기준으로 그룹화하여 합계를 구하고 싶은 경우 위와 같이 코드를 작성하면 된다. FutureWarning 에러도 발생하지 않는다.
반응형
'IT > 파이썬(Python)' 카테고리의 다른 글
파이썬 특정 문자로 시작하는 단어 찾기 startswith(), 문자열 슬라이싱 (0) | 2023.04.14 |
---|---|
파이썬 데이터 프레임 집계 aggregate() (0) | 2023.04.14 |
주피터 노트북, 주피터 랩 파이썬 데이터 프레임 출력 display() 함수 (0) | 2023.04.12 |
파이썬 데이터 프레임 정렬하기 sort_values() 함수 (0) | 2023.04.12 |
파이썬 데이터 프레임 인덱싱, 슬라이싱(loc, iloc) (0) | 2023.04.06 |