728x90
반응형
import pandas as pd
import matplotlib.pyplot as plt
plt.style.use('default')
scatter 산점도
df = pd.read_csv('auto-mpg.csv', header=None)
df.columns = ['mpg', 'cylinders', 'desplacement', 'horsepower', 'weight', 'acceleration', 'model year', 'origin', 'name']
df.plot(kind = 'scatter', x='weight', y='mpg', c ='coral', s=10, figsize = (10, 5))
plt.title('Scatter Plot - mpg vs. weight')
plt.show()
bubble => s로 크기 지정, alpha로 투명도
df = pd.read_csv('auto-mpg.csv', header=None)
df.columns = ['mpg', 'cylinders', 'desplacement', 'horsepower', 'weight', 'acceleration', 'model year', 'origin', 'name']
cylineder_size = df.cylinders / df.cylinders.max() * 300
df.plot(kind = 'scatter', x='weight', y='mpg', c ='coral', s=cylineder_size, figsize = (10, 5), alpha = 0.3)
plt.title('Scatter Plot - mpg vs. weight')
plt.show()
색상 설정
cylineder_size = df.cylinders / df.cylinders.max() * 300
df.plot(kind = 'scatter', x='weight', y='mpg', marker ='+', s=50, c=cylineder_size, cmap='viridis', figsize = (10, 5), alpha = 0.3)
# cmap color mapping
plt.title('Scatter Plot - mpg vs. weight - cylinder')
# plt.savefig('scatter_transparent.png', transparent = True) # 현재 그림을 이미지파일 생성
plt.savefig('scatter_transparent.png', transparent = True) # transparent 투명한 그림으로 표시
plt.show()
pie graph
df['count'] = 1
print(df.head())
df_origin = df.groupby('origin').sum()# origin 기준으로 그룹별 합이 df_origin
print(df_origin.head())
# df_origin['count'] 국가별 자동차 갯수
df_origin.index = ['USA','EU','JAPAN']
# 제조국가 origin 값을 실제 지역명으로 변경
# '%1.1f%%' : %1.1f 소숫점 이하 한자리, %% 퍼센트 표시
df_origin['count'].plot(kind='pie', figsize = (7, 5), autopct='%1.1f%%',# 퍼센트% 표시
startangle = 10, # 파이조각 나누는 시작점 각도 표시
colors=['chocolate','bisque','cadetblue']
)
plt.title('model origin', size = 20)
plt.axis('equal') # 파이차트 비율 같게, 원에 가깝게 조정
plt.legend(labels = df_origin.index, loc='upper right')
plt.show()
mpg cylinders desplacement horsepower weight acceleration model year \
0 18.0 8 307.0 130.0 3504.0 12.0 70
1 15.0 8 350.0 165.0 3693.0 11.5 70
2 18.0 8 318.0 150.0 3436.0 11.0 70
3 16.0 8 304.0 150.0 3433.0 12.0 70
4 17.0 8 302.0 140.0 3449.0 10.5 70
origin name count
0 1 chevrolet chevelle malibu 1
1 1 buick skylark 320 1
2 1 plymouth satellite 1
3 1 amc rebel sst 1
4 1 ford torino 1
mpg cylinders desplacement weight acceleration model year \
origin
1 5000.8 1556 61229.5 837121.0 3743.4 18827
2 1952.4 291 7640.0 169631.0 1175.1 5307
3 2405.6 324 8114.0 175477.0 1277.6 6118
count
origin
1 249
2 70
3 79
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import font_manager, rc
rc('font', family = 'Malgun Gothic')
plt.style.use('seaborn-poster')
plt.rcParams['axes.unicode_minus'] = False
df = pd.read_csv('auto-mpg.csv', header=None)
df.columns = ['mpg', 'cylinders', 'desplacement', 'horsepower', 'weight', 'acceleration', 'model year', 'origin', 'name']
fig = plt.figure(figsize = (15, 5)) # fig 크기
ax1 = fig.add_subplot(1,2,1) # 위
ax2 = fig.add_subplot(1,2,2) # 아래
ax1.boxplot(x=[df[df['origin']==1]['mpg'],
df[df['origin']==2]['mpg'],
df[df['origin']==3]['mpg']],
labels = ['USA','EU', 'JAPAN'])
# 가로
ax2.boxplot(x=[df[df['origin']==1]['mpg'],
df[df['origin']==2]['mpg'],
df[df['origin']==3]['mpg']],
labels = ['USA','EU', 'JAPAN'], vert = False)
ax1.set_title('제조국가별 연비 분포(수직 박스 플롯)')
ax2.set_title('제조국가별 연비 분포(수직 박스 플롯)')
plt.show()
반응형
'Data_Science > Data_Analysis_Py' 카테고리의 다른 글
7. folium || '21.06.24. (0) | 2021.10.26 |
---|---|
6. Titanic || '21.06.24. (0) | 2021.10.26 |
4. 시도별 전출입 인구수 분석 ( 2 || '21.06.24. (0) | 2021.10.26 |
3. 시도별 전출입 인구수 분석 ( 1 || 2021.06.23 (0) | 2021.10.26 |
2. auto-mpg 데이터 분석 || 2021.06.24 (0) | 2021.10.19 |