Kaggle Survey EDA 03 : 직업과 관련된 EDA

2022. 7. 6. 12:33Data Science/with Python(Numpy, Pandas …ect.)

교육수준 EDA를 했던 것과

동일한 방식으로 진행된다.

 

직업과 관련된 질문은 

Q5, 20, 22가 있었다.

Q5 Select the title most similar to your current role
Q20 What is the size of the compnay where are employed?
Q22 Does your current employer incorporate machine learning methods into their business?

 

Q5 column

Q5 = final_data["Q5"][1:]

Q5를 정의해주고

plt.figure(figsize=(12, 12))
plt.hist(Q5)
plt.xticks(rotation='vertical')
plt.title("Histogram for Q5 column")
plt.show()

이전과 같이 히스토그램 코드에 넣어주면

아래와 같이 히스토그램이 나온다.

하지만 좀 더 계단식으로 예쁘게 보고 싶다.

Q5.value_counts()

output:
Data Scientist               2369
Software Engineer            1597
Other                        1320
Data Analyst                 1180
Research Scientist            987
Machine Learning Engineer     900
Business Analyst              590
Product/Project Manager       525
Data Engineer                 361
Statistician                  231
DBA/Database Engineer         108
Name: Q5, dtype: int64

그럴 때는 value_counts 함수를 활용해주면 된다.

value_counts는 위와 같이 value값들을 세서

내림차순으로 출력해주는 함수다.

이걸 정의역, 치역에 넣어주면 알아서 내림차순으로

차트가 예쁘게 나올 것이라 기대된다.

plt.figure(figsize=(12, 12))
plt.bar(Q5.value_counts().index, Q5.value_counts().values)
plt.xticks(rotation='vertical')
plt.title("Histogram for Q5 column")
plt.show()

그리하여 정의역엔 Q5.value_counts의 index를,

values를 치역으로 설정해주면 위와 같이

코드를 짤 수 있다. 출려하면 아래처럼 예쁘게

막대 그래프가 생성되는 것을 확인할 수 있다.

plt.bar → plt.barh로 바꾸면 가로 bar chart가 된다.

 

plt.figure(figsize=(16, 16))
plt.pie(Q5.value_counts(),
       labels=Q5.value_counts().index,
       autopct='%d%%',
       textprops={'fontsize':24})
plt.axis('equal')
plt.title("Pie chart for Q5 column", fontsize=48, pad=50)
plt.show()

 

Q20 column

이번엔 Seaborn countplot을 이용해봤다.

방법은 이전과 동일하므로

Q20 = final_data["Q20"][1:]
sns.countplot(data= final_data[1:], y="Q20")
plt.show()

이렇게 적으면 되고, 차트는

아래와 같이 나온다.

이걸보고 Kaggler는 대기업보다는

스타트업에 종사하는 사람들이

많구나라고 유추할 수 있다.

plt.figure(figsize=(8,8))
plt.pie(Q20.value_counts(),
       labels=Q20.value_counts().index,
       autopct='%d%%',
        colors=sns.color_palette('hls',len(Q20.value_counts().index)),
       textprops={'fontsize':16})
plt.axis('equal')
plt.title("Pie chart for Q20 column", fontsize=32, pad=50)
plt.show()

파이차트로 찍어보면 이렇게 나온다.

 

Q22 column

# Bar-chart
Q22 =  final_data["Q22"][1:]
Q22.value_counts()

plt.figure(figsize=(12, 16))
plt.title("Bar chart for Q22 column")
plt.bar(Q22.value_counts().index, Q22.value_counts().values)
plt.xticks(rotation = 'vertical')
plt.show()

# Pie-chart
plt.figure(figsize=(12, 12))
plt.pie(Q22.value_counts(),
       labels=Q22.value_counts().index,
       autopct='%.2f%%',
        colors=sns.color_palette('hls',len(Q22.value_counts().index)),
       textprops={'fontsize':12})
plt.axis('equal')
plt.title("Pie chart for Q22 column", fontsize=32, pad=50)
plt.show()


01

추가적으로 국적이 한국인 Kaggler들에

대해서 Q4 항목을 동일한 방식으로

아주 간단히 연습해보았다.

# 한국이 뭐라고 표기되어 있는지 검색
set(data["Q3"]) # → South Korea 와 Republic of Korea 로 명시되어 있음.
skorea = data[data["Q3"].isin(["South Korea", "Republic of Korea"])]

sQ4 = skorea["Q4"]
# sQ4.value_counts()

# bar-chart
sns.countplot(y="Q4", data=skorea[1:])

# pie-chart
plt.figure(figsize=(12, 12))
plt.pie(sQ4.value_counts(),
       labels=sQ4.value_counts().index,
       autopct='%.2f%%',
        colors=sns.color_palette('hls',len(sQ4.value_counts().index)),
       textprops={'fontsize':15})
plt.axis('equal')
plt.title("Pie chart for Q4 column in South Korea", fontsize=32, pad=50)
plt.show()

01

 

Kaggle에 뛰어난 전문가들이

오픈 해놓은 효율적인 코드나 폰트와 차트

컬러까지 디자인해서 예쁘게 시각화한

코드가 공개되어 있다고 하니 과정을 모두

마친 후에 틈틈히 보러 가야겠다😎