Python - 데이터분석 2
2022. 6. 15. 23:03ㆍPython
2장 추출한 데이터를 이용한 기초 통계 계산
1장에서 다룬 데이터 추출을 이용하여 간단한 통계 계산에 대해 다뤄보자.
1장에서 사용한 gapminder.tsv 파일로 통계 계산을 할 것이다.
groupby 메소드
가령 연도별 lifeExp열의 평균을 계산하려면 어떻게 해야할까?
데이터를 year열로 그룹화하고 lifeExp 열의 평균을 구하면 된다.
print(df.groupby('year')['lifeExp'].mean())
출력 결과
year
1952 49.057620
1957 51.507401
1962 53.609249
1967 55.678290
1972 57.647386
1977 59.570157
1982 61.533197
1987 63.212613
1992 64.160338
1997 65.014676
2002 65.694923
2007 67.007423
Name: lifeExp, dtype: float64
연도별로 그룹화 하여 lifeExp의 평균값만 뽑아낸 데이터가 출력이 된다.
* year열을 데이터프레임에 전달하여 연도별로 그룹화 -> lifeExp 열을 지정 -> mean 메소드를 이용한 평균값 계산
판다스를 이용하면 위의 간단한 코드 한줄만으로 원하는 데이터만 볼 수 있다는 것이 신기하다.
위를 응용하여 간단히 연습을 해보도록하자
print(df.groupby(['year','continent'])[['lifeExp','gdpPercap']].mean())
연도와 지역별로 그룹화하여 lifeExp, gdpPercap의 평균만 추출하는 코드이다.
lifeExp gdpPercap
year continent
1952 Africa 39.135500 1252.572466
Americas 53.279840 4079.062552
Asia 46.314394 5195.484004
Europe 64.408500 5661.057435
Oceania 69.255000 10298.085650
1957 Africa 41.266346 1385.236062
Americas 55.960280 4616.043733
Asia 49.318544 5787.732940
Europe 66.703067 6963.012816
Oceania 70.295000 11598.522455
1962 Africa 43.319442 1598.078825
Americas 58.398760 4901.541870
..........................................
그룹화한 데이터 개수 세기
그룹화한 데이터의 개수를 빈도수라고 하며 이는 nunique 메소드를 사용하여 쉽게 구할 수 있다.
print(df.groupby('continent')['country'].nunique())
출력 결과
continent
Africa 52
Americas 25
Asia 33
Europe 30
Oceania 2
Name: country, dtype: int64
그래프를 이용해 데이터를 시각화 해보기
matplotlib를 사용하여 그래프를 파이썬에서 그릴 수 있다.
pip install matplotlib
터미널에 입력해주어 해당 라이브러리를 설치해준다.
import pandas as pd
import matplotlib.pyplot as plt #새로 설치한 라이브러리 설치
df = pd.read_csv('./doit_pandas-master/data/gapminder.tsv', sep='\t')
global_yearly_life_expectancy = df.groupby('year')['lifeExp'].mean()
global_yearly_life_expectancy.plot()
plt.show()
이와 같이 직접 그래프로 시각화를 할 수 있다는 점을 기억하자
'Python' 카테고리의 다른 글
Python - Pandas 1 (0) | 2022.11.08 |
---|---|
Python - 데이터 분석 3 (0) | 2022.06.16 |
Python - 데이터분석 1 (0) | 2022.06.15 |
Python - 시리즈 (0) | 2022.04.18 |
Python - 간단한 함수 예제 (0) | 2022.04.12 |