codestates / codestates/ds-blog
[윤현태] Mpg Data와 시대상황에 대한 연관성에 대한 분석
- Dominant language
- No language data
- Stars
- 2
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Description
어떤 차를 사야 후회하지 않을까? 우리는 자동차를 살 때 여러가지 고민을 한다. 연비, 속도, 그리고 어느 브랜드의 차인지도 무시할 수 없다. 하지만 과거 사람들도 과연 우리처럼 생각했을까? 연비를 통해 자동차에 대한 과거 사람들의 인식을 지금부터 한 번 알아보자!
```py
import seaborn as sns
import pandas as pd
import numpy as np
mpg=sns.load_dataset('mpg')
mpg.isna().sum()
```
먼저 데이터를 살펴본다면, 이 데이터는 1970년부터 1983년까지 출시된 유럽, 일본, 미국 자동차 모델에 대해서 다루고 있다. 그래서 인지 연비를 나타내는 mpg는 miles per gallen 으로 , 배기량인 displacement는 incl³ 를 따르고 있다. 그래서 이것들을 각각 우리에게 친숙한 단위인 Km/L , cc 로 나타내 보자.
```py
mpg['kmpl']=mpg['mpg']*0.425144
mpg['cc']=mpg['displacement']*16.38
```
## **차는 누가 뭐라고 해도 연비가 최고 아닌가?**
연비, 연비를 보자. 당신이 경제적이고 합리적인 소비자라면, 연비 얘기는 빼놓을 수 없다. 안그래도 고유가 시대, 조금이라도 기름을 아껴야 좋을 것이다. 하지만 과거 사람들의 생각은 좀 달랐다. 특히 유가에 구애 받지 않는 '미국' 사람들은 **배기량이 높아 폭발적인 성능**을 낼 수 있는 차들을 원했다.
```
sns.regplot(x="horsepower",y="cc",data=mpg)#,ylim=(0.03,0.14),xlim=(2,6))
plt.suptitle("relation between H.P and cc")
```

```
import matplotlib.pyplot as plt
mpg['hp/w']=mpg['horsepower']/mpg['weight']*100
mpg['accel']=1/mpg['acceleration']
sns.regplot(x="hp/w",y="accel",data=mpg)#,ylim=(0.03,0.14),xlim=(2,6))
plt.suptitle("relation between H.P/weight and acceleration")
# plt.ylim(0.03,0.14)
```

배기량은 실제로 마력에 영향을 주었고, 유가가 낮은 미국은 연비를 신경쓰지 않고 무조건 강한 마력의 자동차를 찾았다.
그리고 무게 대비 마력이 높은 차들의 가속력이 좋다는 것도 이렇게 그래프로 쉽게 확인이 가능하다.
### **중동전쟁 이후... 유가파동의 시작**
하지만 1973년 10월에 발발한 제 4차 중동전쟁으로 인해 유가는 가파르게 치솟았고, 미국인들은 더이상 연비를 무시할 수 없었다.
```py
sns.set(style="white")
g=sns.lineplot(
x='model_year',
y='cc',hue="origin",
data=mpg
)
```

기름이 넘쳐나던 미국도 유류파동은 어쩔 수 없었는지, 1973년, 1978년 이후를 기점으로 배기량이 낮아지는 것을 볼 수 있다. 유럽과 일본이야, 한 번도 기름이 풍족해 본 적이 없으니 대부분 차의 배기량이 낮다. 배기량이 낮으면, 연비가 더 좋을까?
```py
sns.set(style="white")
g=sns.lineplot(
x='kmpl',
y='cc',
data=mpg
)
```

엔진 기술과 차체의 형태까지 고려해야할 여러가지 변수가 있겠지만, 대체적으로 배기량이 낮을 수록 연비가 좋아진다고 할 수 있을 것이다. 하지만, 배기량이 성능에 영향을 미쳤을까에 대해 생각해 볼 수 있겠다.
```py
mpg['div']=np.where(mpg['cc']<=3000,'under_3000','over_3000')
sns.set(style="white")
g=sns.FacetGrid(mpg,col="div",row="origin")
g.map(sns.kdeplot,"cc","accel")
g.set_axis_labels("cc", "accel")
```

당연한 결과지만, 자원이 넘쳐나서 배기량을 크게 만든 미국에서는 유의미한 차이를 보일지는 몰라도, 유럽과 일본, 심지어 미국 조차도 배기량이 3000cc를 넘어가지 않으면 그때부터는 사실상 배기량 이외의 것들이 가속력을 좌지우지한다는 뜻으로 받아들이면 좋을 것 같다.
```py
cc_pct=pd.DataFrame({'count':mpg.groupby(['model_year','origin','div']).size()}
).sort_values('model_year').reset_index()
sns.set(style="white")
g=sns.FacetGrid(cc_pct,col="origin",hue='div')
g.map(sns.lineplot,"model_year","count")
g.set_axis_labels("model_year", "Amounts")
g.add_legend()
```

국가별로 보면 더욱더 명확한 차이점을 확인할 수 있다. 다시 한번 73년도와 78년도에 3000cc이상의 신차 출시가 굉장히 많이 꺾이는 것을 볼 수 있었다.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.