티스토리 뷰

다음 5개의 파일을 제공합니다.

 

먼저 schema.csv파일을 살펴봅니다. 설문 스키마가 있는 csv파일입니다. 이 스키마에는 multipleChoiceResponses.csv 및 freeformResponses.csv의 각 열 이름에 해당하는 질문이 포함되어 있습니다.

 

 

shape 인스턴스 변수로 다음의 csv파일이 총 290행 3열로 이루어진 2차원 배열인 것을 확인하였습니다.

 

또한, tail(), head() 함수로 다음과 같은 변수가 있다는 것을 볼 수 있습니다.

 


 

 

 

다음은 multipleChoiceResponse.csv 파일을 살펴봅니다. 16,716개의 행과 228개의 열을 확인할 수 있습니다.

 

columns을 통해 열의 index 값들을 확인합니다. shape로 확인한 총 228개의 값이 있을겁니다. 또한, schema.csv에서 확인 head()와 tail()이 있습니다.

mcq의 파일을 확인해보면 아래와 같은 형식으로 작성되었습니다.

 

누락데이터에 대한 시각화를 하기 위해 missingno를 import하여 사용합니다. 비어 있는 데이터를 전반적으로 시각화하기 위해 사용합니다. 

 

 

다음으로 seaborn을 통해 그래프를 그립니다. 성별에 관해서 막대그래프를 그려보면 다음과 같습니다. 막대그래프는 크고 작음을 한눈에 이해할 수 있습니다. 연속적 자료의 경우 히스토그램이라고 부르고, 불연속적(=이산적) 자료의 경우 막대그래프라고 부릅니다.

 

y='GenderSelect'로 두지 않고 x='GenderSelect'로 설정하면 다음과 같습니다. genderselect의 이름이 길어 서로 겹치는 현상이 발생합니다.

 

value_counts()는 어떤 컬럼/Series의 unique value들을 count해주는 함수입니다. mcq에서 'Country' 열만 value_count한 것의 형식은Series 형식이라고 나옵니다. 즉, Country를 index로 가지고 counts를 value로 가지고 있는 Series입니다. Series의 장점은 index 형식이 꼭 숫자가 아니여도 됩니다.

 

Series는 indexvalue로 이루어졌다고 했으므로 확인해보겠습니다. 먼저 index입니다.

 

다음으론 value 값입니다.

 

con_df에 '국가'라는 열을 만들고 index를 넣어줍니다. 그렇게 되면 '국가'라는 새로운 열이 생기고 con_df는 총 2개의 colum을 가지게 됩니다. 다음으로, con_df.columns 을 순서대로 '응답 수', '국가'로 바꾸어 줍니다. 마지막으로 index 열을 삭제해주고 상위 20개만 출력합니다.

 

다음으로 연령에 대한 정보를 봅니다. count는 Age 열의 데이터 갯수를 말합니다. 또한, 기본통계를 표시합니다.  multipleChoiceResponse.csv 에서는 총16716개의 행을 볼 수 있었지만 여기서는 16385명의 나이만을 알 수 있습니다. 따라서 331명의 'Age'데이터가 누락된 것을 확인할 수 있습니다.

 

그래프로 다음과 같이 20대 중반에서 30대 중반의 사람들이 위 설문에 참여한 것을 볼 수 있습니다.(distribution plot 이용)

 

'FomalEducation' 항목을 countplot으로 살펴보겠습니다.(countplot = 막대그래프) 학사와 석사 학위의 사용자가 절반 이상의 설문분포를 나타내고 있습니다.

 

설문자들의 전공분포를 알아보기 위해 다음과 같이 진행합니다.

응답수에 대한 비율을 보고싶으면 nomalize=True로 설정하여 각각의 데이터의 분포 비율을 볼 수 있습니다.

 

다음과 같이 countplot을 그려보면 computer science가 가장 많은 분포를 차지하고 있는 것을 막대그래프로 확인할 수 있습니다.

 

취업현황도 위와 같은 방법으로 볼 수 있습니다.

 

loc함수는 행을 인덱싱하는 방법으로 Country열에서 South Korea열을 가진 것을 전부 korea로 집어 넣는다.

그리고 dropna() 함수로 결측값을 제거해주고, distribution plot을 그립니다.

subplots 함수는 subplot 함수와는 다르게 쉽게 여려가지의 표를 한 화면에 만들 수 있습니다. 아래의 plt.subplots(ncols=2)에서 ncols가 2이므로 2개의 열을 가진 plot을 그리게됩니다. subplots함수는 2개의 값을 리턴값으로 받는데, figure는 모든 subplot들을 담는 하나의 틀로써 역할을하고, (ax1, ax2)에서의 각각의 ax들은 하나의 subplot을 의미합니다.

xticks에서 ha는 horizon align을 의미합니다. rotation은 오른쪽 끝 을 중심으로 반시계 방향으로 회전합니다.

 

반응형