[3주차 목표]
1. 데이터프레임 사용법을 익힌다.
2. 👉파이썬을 이용해서 데이터를 각종 차트로 시각화해본다.👈
3. 상관 관계 분석에 대해서 이해한다.
import matplotlib.pyplot as plt
바 차트는 Matplolib을 통해 plt.bar()
를 이용하여 그린다.
바 차트를 그리기 위해서는 세가지 리스트를 사용한다.
# 여기서 index 값인 0, 1, 2는 순차적으로 어디에 배치될 것인지를 의미합니다.
# 어떤 의미인지 궁금하다면 0, 1, 5로 바꿔서 실행해보세요!
index = [0, 1, 2]
years = ['2017', '2018', '2019']
values = [100, 400, 900]
plt.bar(index, values, width=0.2, color='g')
plt.xticks(index, years)
plt.show()
index 값은 0, 1, 2 순차적으로 어디에 배치될 것이지를 의미한다.
index = [0, 1, 2, ....]
그러나 이를 일일히 작성하는 것은 비효율적으로 자동화하기 위해 numpy 패키지의 arange()
라는 함수를 사용할 수 있다.
import numpy as np
index = np.arange(3)
print(index)
#result
[0, 1, 2]
주류 데이터의 대륙 별 beer_servings의 평균, 최소, 최대, 합계에 대한 바 차트를 그려본다.
✋ 오류
groupby 함수는SeriesGroupBy
타입으로 index 함수를 사용할 수 없다.labels = drink_df.groupby('continent')['beer_servings'].index().tolist() values = drink_df.groupby('continent')['beer_servings'].mean().tolist() index = np.arange(len(labels)) # plt.bar(index, values, width=0.2, color='g') plt.xticks(index, labels) plt.show() #result AttributeError: 'SeriesGroupBy' object has no attribute 'index'
beer_servings 관련 값들은 데이터 프레임으로 저장한다.
beer_servings_table = drink_df.groupby('continent').beer_servings.agg(['mean', 'min', 'max', 'sum'])
print(beer_servings_table)
#result
<class 'pandas.core.frame.DataFrame'>
인덱스, 레이블, 값들 리스트를 만든다
index = np.arange(len(beer_servings_table.index.tolist()))
continents = beer_servings_table.index.tolist()
values = beer_servings_table['mean'].tolist()
plt.ylabel('beer_servings')
plt.title('beer_servings by continent')
plt.bar(index, values, width=0.2, color='g')
plt.xticks(index, continents)
plt.show()
✋오류
값을 저장할 때
values = beer_servings_table['mean'].to_list()
는 되지만,
values = beer_servings_table.mean.to_list()
은 되지 않는다.
AttributeError: 'function' object has no attribute 'to_list'