2021/01/25 - [공부/3. 데이터 사이언스] - [부스트코스] 캐글 실습 : 설문조사 응답 분석 (6)
ㄴ 이전글 이어서...
Q7. 데이터 사이언스 직무에서 가장 중요하다고 생각되는 스킬은?
job_features = [
x for x in mcq.columns if x.find(
'JobSkillImportance') != -1
and x.find('JobSkillImportanceOther') == -1]
jdf = {}
for feature in job_features:
a = mcq[feature].value_counts()
a = a/a.sum()
jdf[feature[len('JobSkillImportance'):]] = a
jdf = pd.DataFrame(jdf).transpose()
jdf
- 시각화
plt.figure(figsize=(10,6))
sns.heatmap(jdf.sort_values("Necessary",
ascending=False), annot=True)
jdf.plot(kind='bar', figsize=(12,6),
title="Skill Importance in Data Science Jobs")
plt.xticks(rotation=60, ha='right')
Q8. 데이터 과학자의 평균 급여는 얼마나 될까?
- 응답자 수
mcq[mcq['CompensationAmount'].notnull()].shape
#(5224, 228)
mcq['CompensationAmount'] = mcq[
'CompensationAmount'].str.replace(',','')
mcq['CompensationAmount'] = mcq[
'CompensationAmount'].str.replace('-','')
# 환율계산을 위한 정보 가져오기
rates = pd.read_csv('conversionRates.csv')
rates.drop('Unnamed: 0',axis=1,inplace=True)
salary = mcq[
['CompensationAmount','CompensationCurrency',
'GenderSelect',
'Country',
'CurrentJobTitleSelect']].dropna()
salary = salary.merge(rates,left_on='CompensationCurrency',
right_on='originCountry', how='left')
salary['Salary'] = pd.to_numeric(
salary['CompensationAmount']) * salary['exchangeRate']
salary.head()
- 최댓값 최솟값 중간값 보기
print('Maximum Salary is USD $',
salary['Salary'].dropna().astype(int).max())
print('Minimum Salary is USD $',
salary['Salary'].dropna().astype(int).min())
print('Median Salary is USD $',
salary['Salary'].dropna().astype(int).median())
#Maximum Salary is USD $ 208999999
#Minimum Salary is USD $ -2147483648
#Median Salary is USD $ 53812.0
- 500,000불을 초과하는 값만. 시각화.
plt.subplots(figsize=(15,8))
salary=salary[salary['Salary']<500000]
sns.distplot(salary['Salary'])
plt.axvline(salary['Salary'].median(), linestyle='dashed')
plt.title('Salary Distribution',size=15)
- 국가별 임금 그래프 시각화
plt.subplots(figsize=(8,12))
sal_coun = salary.groupby(
'Country')['Salary'].median().sort_values(
ascending=False)[:30].to_frame()
sns.barplot('Salary',
sal_coun.index,
data = sal_coun,
palette='RdYlGn')
plt.axvline(salary['Salary'].median(), linestyle='dashed')
plt.title('Highest Salary Paying Countries')
- 성별과 임금 상자그림 (box plot)
plt.subplots(figsize=(8,4))
sns.boxplot(y='GenderSelect',x='Salary', data=salary)
- 우리나라 데이터. 성별과 임금 상자그림
salary_korea = salary.loc[(salary['Country']=='South Korea')]
plt.subplots(figsize=(8,4))
sns.boxplot(y='GenderSelect',x='Salary',data=salary_korea)
- 몇명이 응답했길래..?
salary_korea.shape
#(26, 8)
- 대한민국 여성 응답자의 응답 내용
salary_korea[salary_korea['GenderSelect'] == 'Female']
- 대한민국 남자 응답자의 응답 내용
salary_korea_male = salary_korea[
salary_korea['GenderSelect']== 'Male']
salary_korea_male
728x90
'데이터 어쩌구 > 전처리 및 시각화' 카테고리의 다른 글
[부스트코스] 캐글 실습 : 설문조사 응답 분석 (9) (0) | 2021.03.19 |
---|---|
[부스트코스] 캐글 실습 : 설문조사 응답 분석 (8) (0) | 2021.01.25 |
[부스트코스] 캐글 실습 : 설문조사 응답 분석 (6) (0) | 2021.01.25 |
[부스트코스] 캐글 실습 : 설문조사 응답 분석 (5) (0) | 2021.01.22 |
[부스트코스] 캐글 실습 : 설문조사 응답 분석 (4) (0) | 2021.01.22 |