1. 히스토그램  Histogram

✏️  히스토그램 histogram은 데이터를 정해진 간격으로 나눈 후 그 간격 안에 들어간 데이터 갯수를 막대로 표시한 그래프

✏️  변수가 하나인 데이터의 빈도수를 막대 모양으로 나타낼 때 사용
✏️  통계분석에서 도수분포표와 히스토그램은 가장 많이 사용되는 도구이고, 데이터의 분석 및 분포를 파악하는 역할

💡 도수 분포표 이해를 위한 용어 
  · 변량 variate : 자료를 측정해 숫자로 표시한 것 (예: 점수, 키, 몸무게, 판매량, 시간 등)

  · 계급 class : 변량을 정해진 간격으로 나눈 구간 (예: 시험 점수를 60 ~ 70, 70 ~ 80, 80 ~ 90, 90 ~ 100 점 구간으로 나눔)
  · 계급의 간격 class width : 계급을 나눈 크기 (예: 위의 시험 점수를 나눈 간격은 10)
  · 도수 frequency : 나눠진 계급에 속하는 변량의 수 (예: 각 계급에서 발생한 수로 3, 5, 7, 4)
  · 도수 분포표 frequency distribution table : 계급에 도수를 표시한 표


📍  어떤 학급에서 수학 시험 결과를 이용해 도수 분포표 만드는 과정


      1. 변량 생성 : 학생 25명의 수학 시험 결과는 다음과 같음.
           ex.  76, 82, 84, 83, 90, 86, 85, 92, 72, 71, 100, 87, 81, 76, 94, 78, 81, 60, 79, 69, 74, 87, 82, 68, 79

      2. 계급 간격 설정 및 계급 생성 : 변량 중 가장 작은 숫자가 60이고 가장 큰 숫자가 100이므로 60에서 일정한 간격

                                                            (여기서는 5로 설정)으로 나누어서 다음과 같은 8개의 계급을 설정
           ex. 60 ~ 65, 65 ~ 70, 70 ~ 75, 75 ~ 80, 80 ~ 85, 85 ~ 90, 90 ~ 95, 95 ~ 100

      3. 계급별 도수 확인 및 분포표 만들기
           각 계급에 몇 개의 변량이 들어있는지 확인해 계급별로 도수를 구함. 이를 이용해 계급별로 도수를 표시한 도구 분포표 생성

           

           계급 (수학점수)                 도수        마크로 도수 표시
           60(이상) ~ 65(미만)        1                      *
           65 ~ 70                              2                     **
           70 ~ 75                              3                     ***
           75 ~ 80                              5                     *****
           80 ~ 85                              6                    ******
           85 ~ 90                              4                    ****
           90 ~ 95                              3                    ***
           95 ~ 100                            1                     *



plt.hist(x, [, bins=bins_s 혹은 'auto'])

 

   📌  x는 변량 데이터
   📌  옵션 bins는 계급의 갯수로 이 개수 만큼 자동으로 계급이 생성
         입력하지 않으면 'auto'가 되고 기본적으로 bins=10 이 됨

 

math = [76, 82, 84, 83, 90, 86, 85, 92, 72, 71, 100, 
        87, 81, 76, 94, 78, 81, 60, 79, 69, 74, 87, 82, 68, 79]
plt.hist(math)
plt.show()


# bins 를 8로 설정
plt.hist(math, bins=8)
plt.show()


 

2. 히스토그램 생성 

# 1) 데이터 읽기
import pandas as pd
import matplotlib.pyplot as plt

data = pd.read_excel('../input/health_screenings_2020.xlsx')
data.head()

 

1)  히스토그램 그리기

# data에서 남성(data.gender==1.0)의 성별, 키 데이터만 가져옴.
man_data = data.loc[data.gender == 1.0, ['gender', 'height']]
man_data.head()

출력 결과

plt.figure(figsize=(10, 6))
# hist() 메서드로 man_data 데이터의 키를 지정하고 계급 개수 20개 등의 속성을 지정.
plt.hist(man_data['height'], bins=20, label='Man')
plt.title('2020 Health Screenings Man Height Histogram')
plt.xlabel('height')
plt.ylabel('frequency')
plt.legend()
plt.grid()
plt.show()

출력 결과

 

📌  hist() 함수의 bins 파라미터는 히스토그램의 가로축 구간의 개수를 지정

 


 

2) 그룹 히스토그램 그리기

 

✏️   그룹 히스토그램을 그리는 것은 기존 히스토그램 위에 히스토그램을 하나 더 그리는 형식

# 남성 및 여성 키 그룹 히스토그램

# data에서 남성(data.gender==1.0)의 성별, 키 데이터만 가져옴.
man_data = data.loc[data.gender == 1.0, ['gender', 'height']]
# data에서 여성(data.gender==2.0)의 성별, 키 데이터만 가져옴
woman_data = data.loc[data.gender == 2.0, ['gender', 'height']]
#%%
plt.figure(figsize=(10, 6))  # 그래프 크기 지정
# hist() 메서드로 데이터의 키를 지정하고 계급 개수 20개 등의 속성을 지정.
plt.hist(man_data['height'], bins=20, alpha=0.5, label='Man')
plt.hist(woman_data['height'], bins=20, alpha=0.5, label='Woman')

plt.title('2020 Health Screenings Man & Woman Height Group Histogram')
plt.xlabel('height')
plt.ylabel('frequency')
plt.xlim(120, 200)
plt.legend()
plt.grid()
plt.show()

출력 결과

 

 

 

 

[ 내용 참고 : IT 학원 강의 ]


 

1.  산점도 그래프

plt.scatter(x,y)

 

👩🏻‍💻  산점도 (Scatter plot)는 두 변수의 상관 관계를 직교 좌표계의 평면에 점으로 표현하는 그래프

👩🏻‍💻  서로 다른 두 연속성 변수 사이의 관계를 나타내며 연속성 변수의 상관성을 확인할 때 산점도 그래프를 사용
👩🏻‍💻  예를 들어 나이와 소득에 대한 상호 관련성 파악 등에 유용하게 사용되는데, 두 변수 간의 상관관계를 개략적으로 파악할 수 있기 때문

👩🏻‍💻  산점도에 표시되는 각 점들은 자료의 관측값을 의미하고, 각 점의 위치는 관측값이 가지는 x축, y축 변수의 값으로 결정

 

    📌  공공데이터포털에서 다운로드한 2020년 건강검진 일부 데이터 health_screenings_2020.xlsx를 이용하여 산점도 그래프를 표현

import pandas as pd
import matplotlib.pyplot as plt

# 1) 데이터 읽기
data = pd.read_excel('../input/health_screenings_2020.xlsx')
data.head()

출력 결과

height_data = df1['height']  # 키 데이터만 가져와 height_data에 저장
weight_data = df1['weight']  # 몸무게 데이터만 가져와 weight_data에 저장
height_data.head()
'''
0    175
1    150
2    155
3    165
4    160
Name: height, dtype: int64
'''
plt.figure(figsize=(10, 4))  # 그래프 크기를 지정
plt.scatter(height_data, weight_data)  # x축 데이터에 height_data, y축 데이터에 weight_data 지정
plt.title('2020 Health Screenings Scatter Graph')
plt.xlabel('height')
plt.ylabel('weight')
plt.show()

출력 결과

 


 

2) 그룹 산점도 그래프

 

✏️  누적 산점도 그래프를 그리는 것은 기존 산점도 그래프 위에 산점도 그래프를 하나 더 그리는 방식

# HDL, LDL, cholesterol 데이터를 가져와 각각의 변수에 저장.
HDL_data = df1['HDL']
LDL_data = df1['LDL']
cholesterol_data = df1['cholesterol']

plt.figure(figsize=(10, 6))  # 그래프 크기 지정

# scatter()에 x축 데이터와 y축 데이터를 지정하고 점 색상과 점 테두리 색상을 지정.
plt.scatter(cholesterol_data, LDL_data, color='r', edgecolor='w', label='Cholesterol*LDL')
plt.scatter(HDL_data, cholesterol_data, color='g', edgecolor='w', label='HDL*Cholesterol')
plt.scatter(HDL_data, LDL_data, color='b', edgecolor='w', label='HDL*LDL')

plt.title('2020 Health Screenings Group Scatter Graph')
# xlim(), ylim()으로 x축 및 y축의 최솟값과 최댓값을 지정
plt.xlim(-50, 500)
plt.ylim(-50, 500)
plt.legend()
plt.show()

출력 결과

 

 

 

 

[ 내용 참고 : IT 학원 강의 및 위키독스 ]


 

1. 막대 그래프

🚀  집단별 차이를 표현할 때 막대 그래프를 주로 사용 
       ⚡️  수량의 많고 적음 비교, 변화된 양에 대한 일별, 월별, 연별 통계 등의 비교
🚀  가독성 면에서 항목의 개수가 적으면 가로 막대가 좋고 항목이 많으면 세로 막대가 보기 편함

 

    📌  막대 그래프는 bar() 함수에 x축, y축 데이터를 지정하여 그림

import pandas as pd
import matplotlib.pyplot as plt

data = pd.read_excel('../input/fine_dust.xlsx', index_col='area')
data2016 = data[2016]
data2016.head()
'''
area
Seoul       48.0
Gyeonggi    53.0
Incheon     49.0
Busan       44.0
Daegu       43.0
Name: 2016, dtype: float64
'''

1) 세로 막대

# 2016년 지역별 미세먼지 세로 막대 그래프
plt.figure(figsize=(15, 4))
plt.bar(data2016.index, data2016, color='g')  
# x축에 data2016의 인덱스를, y축 데이터에 data2016 값을 지정
plt.title('2016 Fine Dust Bar Graph')
plt.xlabel('area')
plt.ylabel('micrometer')
plt.ylim(35, 55)  # y축 범위를 35-55 정함
plt.grid()
plt.show()

출력 결과

 


 

2) 그룹 세로 막대 그래프

import numpy as np
index = np.arange(4)
# NumPy의 np.arange() 함수는 주어진 범위와 간격에 따라 균일한 값을 갖는 어레이를 반환

plt.figure(figsize=(15, 4))
df1 = data.loc['Seoul':'Busan', 2016:2019]  
# (행) 서울, 경기, 인천, 부산 지역의 (열) 2016~2019년 데이터만 추출.

for year in range(2016, 2020):
    chart_data = df1[year]  # 연도별로 데이터 가지고 옴.
    plt.bar(index, chart_data, width=0.2, label=str(year))  # 두께 0.2의 막대 그래프를 지정.
    index = index + 0.2   # 출력되는 위치를 0.2씩 이동
    
plt.title('2016 ~ 2019 Fine Dust Group Bar Graph')
plt.xlabel('area')
plt.ylabel('micrometer')
plt.ylim(35, 55)
# x축 눈금을 가운데로 지정하기 위해 막대그래프를 마지막 위치에서 0.5 빼주고, x축 눈금 이름을 지정.
plt.xticks(index - 0.5, ['Seoul', 'Gyeonggi', 'Incheon', 'Busan'])
plt.legend()
plt.show()

 

💡  xticks(), yticks() 함수에 파이썬 리스트 또는 NumPy 어레이를 입력하면 눈금과 숫자 레이블이 표시

 

출력 결과

 


 

3) 그룹 누적 가로 막대 그래프

 

🚀  2016 ~ 2019 지역별 미세먼지 그룹 막대 그래프를 누적하여 가로 방향으로 변경하여 표현
🚀  누적 막대 그래프를 그리는 것은 기존 막대 그래프 위에 막대 그래프를 하나 더 그리는 형식
        ▶️ 이를 위해서는 index의 위치를 변경해야 함
        ▶️ 가로 방향으로 바꾸는 것은 bar() 대신 barh()를 사용하면 됨
        ▶️ 막대 그래프를 가로 방향으로 변경했으므로 x축 및 y축 이름, x축 및 y축 눈금도 가로 방향에 맞게 변경

# 2016 ~ 2019 지역별 미세먼지 그룹 누적 가로 막대 그래프
ndex = np.arange(4)

plt.figure(figsize=(15, 4))
df1 = data.loc['Seoul':'Busan', 2016:2019]  # 서울, 경기, 인천, 부산 지역의 2016~2019년 데이터만 추출.
for year in range(2016, 2020):
    chart_data = df1[year]  # 연도별로 데이터 가지고 옴.
    plt.barh(index, chart_data, label=str(year))  # barh() 사용
    
plt.title('2016~2019 Fine Dust Group Bar Graph')
plt.ylabel('area')
plt.xlabel('micrometer')
plt.xlim(30, 55)
plt.yticks(index, ['Seoul', 'Gyeonggi', 'Incheon', 'Busan'])
plt.legend()
plt.show()

 

출력 결과

 

 

 

 

 

[ 내용 참고 : IT 학원 강의 ]


출처 : 위키독스 (https://wikidocs.net/92083)

 

1.  선 그래프

 

🚀  연속적으로 변하는 데이터를 시각화할 때 사용
🚀  일반적으로 선 그래프는 시간에 따라 데이터의 연속적인 변화량을 관찰할 때 자주 사용
       ⚡️  예를 들어 시간에 따른 온도 변화량, 수출액 변화량, 교통 사고량 등을 시각화 할 때 유용하게 사용
🚀  선 그래프는 수량을 점으로 표시하면서 선으로 이어 그리기 때문에 증가와 감소 상태를 쉽게 확인할 수 있음

    📌  선 그래프는 plot()에 x축, y축 데이터를 선택하여 출력
    📌  x축에 시간 변수를 지정하여 시간 변화량을 나타내는 시계열 데이터를 표현하는 그래프에도 많이 사용

# 2001년 ~ 2019년까지의 미세먼지 데이터 'fine_dust.xlsx'를 이용하여 선 그래프로 표현.

import pandas as pd
import matplotlib.pyplot as plt

# 1) 2019년 데이터 읽기
data = pd.read_excel('../input/fine_dust.xlsx', index_col='area')
data

출력 결과

# 2019 데이터 가져오기
data2019 = data[2019]
data2019.head()

'''
area
Seoul       42.0
Gyeonggi    46.0
Incheon     43.0
Busan       36.0
Daegu       39.0
Name: 2019, dtype: float64
'''
# 2) 2019년 지역별 미세먼지 선 그래프
plt.figure(figsize=(15, 4))
plt.plot(data2019, color='b', marker='o')  # 파란색 선과 원형 마커 지정
plt.title('2019 Fine Dust Line Graph')  # 제목 설정
plt.xlabel('area')  # x축 명칭
plt.ylabel('micrometer')  # y축 명칭
plt.grid()  # 격자 표시
plt.show()

출력 결과

 

# 3) 2016 ~ 2019년 미세먼지 선 그래프
# 2016년 데이터를 가져와 chartdata에 저장하고 마커 및 이름을 지정하는 과정을 2019년까지 반복.
plt.figure(figsize=(15, 4))
for year in range(2016, 2020):
    plt.plot(data[year], marker='o', label=year)
plt.title('2016~2019 Fine Dust Line Graph')
plt.xlabel('area')
plt.ylabel('micrometer')
plt.legend()
plt.grid()
plt.show()

출력 결과

 

 

 

 

 

[ 내용 참고 : IT 학원 강의 ]


 

1.  맷플룻립 Matplotlib 라이브러리

🥑  맷플룻립 라이브러리는 그래프를 그릴 때 가장 많이 사용하는 파이썬 라이브러리 중 하나
🥑  맷플룻립을 활용하면 다양한 유형의 그래프를 간편하게 그릴 수 있음
🥑  시각화할 때 데이터로 리스트나 딕셔너리 자료형도 가능하지만 데이터프레임을 이용하면 새로운 그래프에 적용하는 것이 더 쉽기 때문에 대부분 데이터프레임 자료형을 이용

  ⚡️ matplotlib은 MATLAB(과학 및 공학 연산을 위한 소프트웨어)의 시각화 기능을 모델링해서 만들어짐
  ⚡️ 공식 홈페이지 : https://matplotlib.org/

 

Matplotlib — Visualization with Python

seaborn seaborn is a high level interface for drawing statistical graphics with Matplotlib. It aims to make visualization a central part of exploring and understanding complex datasets. statistical data visualization Cartopy Cartopy is a Python package des

matplotlib.org


 

2. 시각화 옵션

 

1) 제목 지정  title()


🥑  그래프 제목은 title() 메서드를 사용하여 표현
🥑  제목은 기본적으로 영어를 사용하는데, 한글을 사용하려면 별도의 설정을 해야 함

# 제목 지정
import matplotlib.pyplot as plt  # 모듈 import

plt.title('Line Graph')  # 제목 지정
xdata = [2, 4, 6, 8]  # x 축 값 지정
ydata = [1, 3, 5, 7]  # y 축 값 지정
plt.plot(xdata, ydata)
plt.show()

출력 결과

 

 

📍 pyplot.plot() 함수에 리스트(= x축과 y축에 들어갈 값 )를 입력함 

📍 show() 함수는 그래프를 화면에 나타나도록 함

 

 

 

 

 

 

 

 


 

2) 범례

 

🥑  범례란 사용자가 내용을 인지하기 쉽도록 본보기로 표시하는 데 사용

🥑  그래프 범례는 두 개 이상의 데이터를 표현할 때 사용
🥑  범례 추가는 plot()을 활용하여 표현하는 데, plot()의 label 속성값에 원하는 문자열을 작성하고

      그래프를 그리기 전에 legend() 메서드를 실행

# 범례 지정
plt.title('Legend')
data1 = [2, 4, 6, 8]
data2 = [8, 6, 4, 2]
plt.plot(data1, label='asc')
plt.plot(data2, label='desc')
plt.legend()
plt.show()

출력 결과


 

3) 색상 지정

 

🥑  그래프 색상은 plot() 메서드에 color 속성을 추가하여 표현

# 색상 지정
xdata = [2, 4, 6, 8]
ydata = [1, 3, 5, 7]
plt.plot(xdata, ydata, color='red')
plt.show()

출력 결과

 


 

4) x축 및 y축 이름 지정  

 

🥑  x축 이름은 xlabel()를 사용하고, y축 이름은 ylabel()을 사용하여 표현

# x축 및 y축 이름 지정
xdata = [2, 4, 6, 8]
ydata = [1, 3, 5, 7]
plt.plot(xdata, ydata)
plt.xlabel('X value')
plt.ylabel('Y value')
plt.show()

출력 결과

 


5) 그래프 선 모양 지정

 

🥑  그래프 선 모양은 plot()의 linestyle 속성을 이용하여 표현
🥑  linestyle 속성으로 실선은 '-', 파선은 '--', 점쇄선 '-.', 점선은 ':' 기호로 지정

# 그래프 선 모양 지정
xdata = [2, 4, 6, 8]
ydata = [8, 6, 4, 2]
plt.plot(data1, color='r', label='dashed', linestyle='--')
plt.plot(data2, color='g', label='dotted', linestyle=':')
plt.legend()
plt.show()

 

출력 결과

 


 

6) 그림 범위 지정  xlim(), ylim()

 

🥑  plot()을 사용하여 그래프를 표현하다 보면 몇몇 점들은 그림의 범위 경계선에 있어서 잘 보이지 않을 때가 있다
🥑  이 때, xlim() 메서드와 ylim() 메서드를 사용하면 그림의 범위를 수동으로 지정할 수 있다.
        ▶️  xlim(x축 최솟값, x축 최댓값), ylim(y축 최솟값, y축 최댓값)
🥑  plot()의 marker 속성을 지정하면 선에 점 모양을 다양하게 변경할 수 있음

# 그림 범위 지정
plt.title('X, Y range')
xdata = [10, 20, 30, 40]
ydata = [1, 3, 5, 7]
plt.plot(xdata, ydata, color='b', linestyle='--', marker='o', markersize='10')
plt.xlim(0, 50)
plt.ylim(-5, 15)
plt.show()

출력 결과

 


 

3. 내장 시각화 옵션

 

👩🏻‍🚀  판다스를 이용하면 시각화 라이브러리를 임포트 하지 않아도 내장 그래프 도구를 이용하여 기본적인 시각화를 할 수 있음
👩🏻‍🚀  plot()의 kind 속성을 지정하면 다양한 종류의 그래프를 표현할 수 있다.

옵션 종류
line 선 그래프
bar 막대 그래프 - 수직
barh 막대 그래프 - 수평
his 히스토그램 그래프
box 박스 그래프
kde 커널 밀도 그래프
area 면적 그래프
pie 원형 그래프
scatter 산점도 그래프
hexbin 고밀도 산점도 그래프
import pandas as pd

my_score = [[60, 90, 95], [80, 75, 100], [65, 85, 90], 
            [85, 70, 90], [95, 90, 85], [75, 85, 90], [85, 80, 75]]
subject = ['kor', 'math', 'eng']
df = pd.DataFrame(my_score, columns=subject)
df

출력 결과

 

from matplotlib import pyplot as plt

df.plot(kind='line')
plt.show()

출력 결과

 

 

 

 

 

 

[ 내용 참고: IT 학원 강의 및 위키독스 ]


 

1.  컬럼(변수) 삭제 및 생성

# 엑셀 파일 dust1.xlxs 파일을 불러와서 데이터프레임을 생성
import pandas as pd

dust = pd.read_excel('../input/dust1.xlsx')
dust.head()

출력 결과


👩🏻‍🚀  삭제 : drop() 

# 데이터 분석에 필요없는 '지역', '망', '측정소 코드' 컬럼을 삭제하고 특정 값으로 새로운 컬럼을 생성.

dust = dust.drop(['지역', '망', '측정소코드'], axis=1)
# axis의 기본값이 axis=0 으로 행 삭제가 됨. 컬럼을 삭제하기 위해서는 axis=1을 반드시 사용.
dust.head()

출력 결과


 

👩🏻‍🚀  생성  : df['새로운 컬럼명'] = '값'

# 새로운 컬럼 생성
dust['city'] = '서울'
dust.head()

출력 결과

 


 

2. 컬럼 이름 변경

# 전체 변수 이름을 재설정
DataFrame.columns=['새이름1', '새이름2',...]

# 원하는 변수이름만 수정
DataFrame.rename(columns={'기존이름':'새이름'}, inplace=True)

 

dust.rename(columns={'측정소명': 'name', '측정일시': 'date', '주소': 'addr'}, inplace=True)
dust.columns

'''
Index(['name', 'date', 'SO2', 'CO', 'O3', 'NO2', 'PM10', 'PM25', 'addr',
       'city'],
      dtype='object')
'''

 


 

3. 데이터 형변환

dust.dtypes

'''
name     object
date      int64
SO2     float64
CO      float64
O3      float64
NO2     float64
PM10      int64
PM25      int64
addr     object
city     object
dtype: object
'''

 

  📍 date 컬럼이 숫자형(int)로 저장되어 있음
         ▶️ 숫자 형식은 문자 형식으로 변환
  📍 astype(str) : 숫자 ➡️ 문자열 형식으로 변환
  📍 astype(int) : 문자열 ➡️ 숫자 형식으로 변환

 

# 숫자 int 형을 문자열로 변환
dust['date'] = dust['date'].astype(str)
dust['date'] = dust['date'].str.slice(0, 8)
dust.head()

출력 결과


  📍  pd.to_datetime()

# 문자 형식을 날짜형으로 변환
dust['date'] = pd.to_datetime(dust['date'])
dust.dtypes
'''
name            object
date    datetime64[ns]
...
'''

 


  📍 Series.dt.형식

# 날짜 형식 활용 : Series.dt.형식
dust['year'] = dust['date'].dt.year
dust['month'] = dust['date'].dt.month
dust['day'] = dust['date'].dt.day
dust.head()

출력 결과

 


 

4. 데이터 병합

👩🏻‍🚀   merge() 함수는 두 데이터프레임을 각 데이터에 존재하는 고유값(key)을 기준으로 병합할 때 사용

 pd.merge(df_left, df_right, how='inner', on=None)


  📍  기본 값은 on=None이므로 두 데이터의 공동 열이름(id)를 기준으로 inner(교집합) 조인을 하게 됨
  📍  outer 옵션을 줘서 id를 기준으로 합치되, 어느 한 쪽이라도 데이터가 없는 경우 Nan 값이 지정 됨

# 병합할 원본 데이터 확인
s1 = pd.read_excel('../input/nation.xlsx')
s1.head()

출력 결과

s2 = pd.read_excel('../input/code.xlsx')
s2.head()

출력 결과

 

# 데이터 병합 : 공통 컬럼을 기준
pd.merge(s1, s2, on='국적코드')

병합 결과

 


5. 데이터 그룹핑

👩🏻‍🚀  데이터 그룹핑은 데이터를 특정한 값에 기반해 묶는 기능으로 groupby()를 사용하여 통계량을 요약할 수 있음
👩🏻‍🚀  통계량에 관계된 메서드에는 mean(평균), std(표준편차), var(분산), max(최대값), min(최소값) 등이 있음

 

1)  한 열을 기준으로 그룹화 하기

import pandas as pd

s1 = pd.read_excel('../input/nation.xlsx')
s1

출력 결과

s1.groupby('국적코드').sum()
# 국적코드를 그룹별로 합친다. (숫자 뿐만 아니라 문자열도 합침)

출력 결과

 

s1.groupby('성별').sum()
# 성별로 나누어 다른 항목을 합친다.

출력 결과


 

2)  여러 열을 기준으로 그룹화하기

s1.groupby(['국적코드', '성별']).sum()

 

출력 결과

 

 

 

 

 

 

[ 내용 참고 : IT 학원 강의 ]

+ Recent posts