본문 바로가기
데이터 어쩌구/전처리 및 시각화

[부스트코스] 캐글 실습 : 설문조사 응답 분석 (6)

by annmunju 2021. 1. 25.

2021/01/22 - [공부/3. 데이터 사이언스] - [부스트코스] 캐글 실습 : 설문조사 응답 분석 (5)

 

[부스트코스] 캐글 실습 : 설문조사 응답 분석 (5)

2021/01/22 - [공부/3. 데이터 사이언스] - [부스트코스] 캐글 실습 : 설문조사 응답 분석 (4) [부스트코스] 캐글 실습 : 설문조사 응답 분석 (4) 2021/01/21 - [공부/3. 데이터 사이언스] - [부스트코스] 캐글

mungdo-log.tistory.com

ㄴ 이전글 이어서...


Q4. 데이터과학을 위해 높은 사양의 컴퓨터가 필요한가요?

 

1. 설문 내용, 응답자 수 파악하기

qc = question.loc[question[
    'Column'].str.contains('HardwarePersonalProjectsSelect')]
print(qc.shape)
qc

#(1,3)

mcq[mcq['HardwarePersonalProjectsSelect'].notnull()][
    'HardwarePersonalProjectsSelect'].shape
    
#(4206,)

2. 어떤 기기를 사용하는지. (count)

mcq['HardwarePersonalProjectsSelect'] = mcq['HardwarePersonalProjectsSelect'
          ].astype('str').apply(lambda x: x.split(','))
s = mcq.apply(lambda x: 
              pd.Series(x['HardwarePersonalProjectsSelect']),
              axis=1).stack().reset_index(level=1, drop=True)
s.name = 'hardware'

s = s[s != 'nan']

pd.DataFrame(s.value_counts())

 

Q5. 데이터 사이언스 공부에 얼마나 많은 시간을 사용하는지?

 

plt.figure(figsize=(6, 8))
sns.countplot(y='TimeSpentStudying', 
              data=mcq, 
              hue='EmploymentStatus'
             ).legend(loc='center left',
                      bbox_to_anchor=(1, 0.5))

* 풀타임으로 일하는 사람들은 2~10시간 일하는 비율이 높으며, 풀타임으로 일하는 사람보다 일을 찾고 있는 사람들이 더 많은 시간을 공부하는 편이다.

하지만 응답자 중 대부분이 풀타임으로 일하고 있는 사람들이라는 것을 고려할 필요가 있다.

 

> 풀타임, 구직자의 수

full_time = mcq.loc[(mcq['EmploymentStatus'] == 'Employed full-time')]
print(full_time.shape)
looking_for_job = mcq.loc[(
    mcq['EmploymentStatus'] == 'Not employed, but looking for work')]
print(looking_for_job.shape)

#(10897, 228)
#(2110, 228)

 

- 풀타임, 구직자 따로 비교하기

figure, (ax1, ax2) = plt.subplots(ncols=2)

figure.set_size_inches(12,5)
sns.countplot(x='TimeSpentStudying', 
              data=full_time, 
              hue='EmploymentStatus', ax=ax1
             ).legend(loc='center right',
                      bbox_to_anchor=(1, 0.5))

sns.countplot(x='TimeSpentStudying', 
              data=looking_for_job, 
              hue='EmploymentStatus', ax=ax2
             ).legend(loc='center right',
                      bbox_to_anchor=(1, 0.5))

 

Q6. 블로그, 팟캐스트, 수업, 기타 등등 추천할만한 것이 있는지?

 

- 'BlogsPodcastsNewslettersSelect' 선택형 답안 나눠서 s에 저장

mcq['BlogsPodcastsNewslettersSelect'] = mcq[
    'BlogsPodcastsNewslettersSelect'
].astype('str').apply(lambda x: x.split(','))

s = mcq.apply(lambda x: pd.Series(x['BlogsPodcastsNewslettersSelect']),
              axis=1).stack().reset_index(level=1, drop=True)
s.name = 'platforms'

s = s[s != 'nan'].value_counts()

- 시각화

plt.figure(figsize=(6,8))
plt.title("Most Popular Blogs and Podcasts")
sns.barplot(y=s.index, x=s)

 

- 'CoursePlatformSelect' 선택형 답안 나눠서 t에 저장, 시각화

mcq['CoursePlatformSelect'] = mcq[
    'CoursePlatformSelect'].astype(
    'str').apply(lambda x: x.split(','))

t = mcq.apply(lambda x: pd.Series(x['CoursePlatformSelect']),
              axis=1).stack().reset_index(level=1, drop=True)
t.name = 'courses'

t = t[t != 'nan'].value_counts()

plt.title("Most Popular Course Platforms")
sns.barplot(y=t.index, x=t)

 

728x90