1. 통계  메서드

sum() 원소의 합
mean()  평균
std() 표준편차
var() 분산
min() 최솟값
max() 최댓값
cumsum() 원소의 누적 합
cumprod() 원소의 누적 곱

 

# 2012년 부터 2016년 까지 우리나라의 계절별 강수량(단위 mm).
table_data3 = {'봄': [256.5, 264.3, 215.9, 223.2, 312.8],
               '여름': [770.6, 567.5, 599.8, 387.1, 446.2],
               '가을': [363.5, 231.2, 293.1, 247.7, 381.6],
               '겨울': [139.3, 59.9, 76.9, 109.1, 108.1]}
columns_list = ['봄', '여름', '가을', '겨울']
index_list = ['2012', '2013', '2014', '2015', '2016']
df3 = pd.DataFrame(table_data3, columns=columns_list, index=index_list)
df3

df3 출력 결과

 

# 2012년에서 2016년에 걸쳐 계절별로 강수량의 평균(mean)과 표준 편차(std)를 구함.
df3.mean()
'''
봄     254.54
여름    554.24
가을    303.42
겨울     98.66
dtype: float64
'''

df3.std()  # 계절별 강수량 표준편차
'''
봄      38.628267
여름    148.888895
가을     67.358496
겨울     30.925523
dtype: float64
'''

 

    📌  연도별로 평균 강수량과 표준 편차를 구할 경우엔 연산의 방향 설정을 위해 axis인자를 추가
    📌  인자 axis가 0이면 DataFrame의 values에서 열별로 연산을 수행하고, 1이면 행별로 연산

    📌  axis 인자를 설정하지 않으면 기본값을 0으로 설정

 

df3.mean(axis=1)
'''
2012    382.475
2013    280.725
2014    296.425
2015    241.775
2016    312.175
dtype: float64
'''

df3.std(axis=1)
'''
2012    274.472128
2013    211.128782
2014    221.150739
2015    114.166760
2016    146.548658
dtype: float64
'''

💡  df.describe()

 

  -  평균, 표준편차, 최솟값과 최댓값 등을 한 번에 구할 수 있는 메서드
  -  25%, 50%, 75% : 백분위수의 각 지점으로, 분포를 반영해 평균을 보완하는 목적으로 사용

df3.describe()

 

출력 결과


 

2.  판다스 데이터  읽기

1) 표 형식 데이터 읽기

🍯  판다스에서 csv파일을 읽을 때는 read_csv() 메서드 이용

🍯  파이썬에서 텍스트파일을 생성하면 기본 문자 인코딩이 ’utf-8’이고, 메모장의 경우 기본 문자 인코딩이 ‘cp949’

DataFrame_data = pd.read_csv(file_name [, options])

 

import pandas as pd

df1 = pd.read_csv('../input/sea_rain1.csv')
df1

 

출력 결과

df1.dtypes
'''
연도      int64
동해    float64
남해    float64
서해    float64
전체    float64
dtype: object
'''

pd.read_csv('../input/sea_rain1_from_notepad.csv')
# UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbf in position 0: 
# invalid start byte

 

    📌  sea_rain1_from_notepad.csv 파일을 메모장으로 생성해서, 인코딩이 'cp949'이므로 에러가 남

            ▶️  메소드 안에 encoding='cp949' 를 붙여주면 된다.

# 올바른 실행 예
pd.read_csv('../input/sea_rain1_from_notepad.csv', encoding='cp949')

 

🍯  txt 파일의 경우 콤마가 아니라 공백(빈칸)으로 구분된 경우 sep 옵션을 이용해서 구분자가 콤마가 아니라 공백임을 지정
🍯  아래 처럼 확장자가 txt라도 read_csv()로 읽을 수 있음.

pd.read_csv('../input/sea_rain1_space.txt', sep=' ')

 

📌  read_csv()로 텍스트 파일을 읽어오면 index가 자동으로 지정
📌  이 때 특정 열 column을 index로 선택하려면

       'index_col=열_이름'을 추가

 

 

pd.read_csv('../input/sea_rain1.csv', index_col='연도')

출력 결과

 

 

 

 

 

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

+ Recent posts