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

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

by annmunju 2021. 1. 25.

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

 

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

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

mungdo-log.tistory.com


Q9. 개인프로젝트나 학습용 데이터를 어디에서 얻나요?

 

 - PublicDatasetsSelect에서 여러 문항으로 된 데이터 쪼개서 q에 저장. 

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

q = mcq.apply(
    lambda x: pd.Series(x['PublicDatasetsSelect']),
    axis=1).stack().reset_index(level=1, drop=True)

q.name = 'courses'

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

pd.DataFrame(q)

 - 시각화

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

 - 주관식 데이터에서 설문 내용 보기

# 주관식 응답을 읽어온다.
ff = pd.read_csv('freeformResponses.csv', 
                 encoding="ISO-8859-1", low_memory=False)
ff.shape

#(16716, 62)

# 설문내용과 누구에게 물어봤는지를 찾아봄
qc = question.loc[question[
    'Column'].str.contains('PersonalProjectsChallengeFreeForm')]
print(qc.shape)
qc.Question.values[0]

#(1, 3)
#'What is your biggest challenge with the public datasets you find for personal projects?'
#개인프로젝트에서 공개된 데이터셋을 다루는 데 가장 어려운 점은 무엇일까?

 

 - 응답 내용 보기

ppcff = ff[
    'PersonalProjectsChallengeFreeForm'].value_counts().head(15)
ppcff.name = '응답 수'
pd.DataFrame(ppcff)

 

 - wordcloud 사용해서 응답 결과 시각화

from wordcloud import WordCloud, STOPWORDS
import matplotlib.pyplot as plt
# %matplotlib inline 설정을 해주어야지만 노트북 안에 그래프가 디스플레이 된다.
%matplotlib inline
%config InlineBackend.figure_format='retina'

def displayWordCloud(data = None, backgroundcolor = 'white', width=1200, height=600 ):
    wordcloud = WordCloud(stopwords = STOPWORDS, 
                          background_color = backgroundcolor, 
                         width = width, height = height).generate(data)
    plt.figure(figsize = (15 , 10))
    plt.imshow(wordcloud)
    plt.axis("off")
    plt.show() 
    
ppc = ff['PersonalProjectsChallengeFreeForm'].dropna()

%time displayWordCloud(''.join(str(ppc)))

 

Q10. 데이터 사이언스 업무에서 가장 많은 시간을 필요로 하는 일은?

time_features = [
    x for x in mcq.columns if x.find('Time') != -1][4:10]

tdf = {}
for feature in time_features:
    tdf[feature[len('Time'):]] = mcq[feature].mean()

tdf = pd.Series(tdf)
print(tdf)
print()

plt.pie(tdf, labels=tdf.index, 
        autopct='%1.1f%%', shadow=True, startangle=140)
plt.axis('equal')
plt.title("Percentage of Time Spent on Each DS Job")
plt.show()

 

 

728x90