본문 바로가기

Theory/DataScience

[Data Science] 서울시민들이 운동을 하지 않는 이유에 대한 분석

안녕하세요. 지난번에 Conda 환경을 세팅하는 이야기를 했구요. 이번에는 첫 번째 프로젝트(라고 부르기 창피하지만)로 서울시민들이 운동을 하지 않는 이유라는 통계 자료를 가지고 한 번 놀아보도록 하겠습니다. 진지하게 접근하는 것이 아니구요. 매우 간단한 파이썬 작업을 해보려고 합니다. 그러니 이 글은 파이썬을 처음 접하는 분들에게 그저 간단한 동기 부여 차원에서 진행되는 작은 글일 뿐임을 미리 이야기해둡니다.^^

먼저 데이터를 찾아야겠죠. "서울시 운동을 하지 않는 이유 통계"라는 제목으로 구글에서 검색하면 저 글이 뜹니다. 서울 열린데이터 광장에서 구할 수 있는 데이터입니다. 혹시 데이터가 변경되어서 이 글의 코드가 동작하지 않을때를 대비해서 해당 데이터도 본문에 넣어두겠습니다.

report.txt
다운로드

열린데이터광장에서 저 화면처럼 꼭~ Sheet를 선택하세요.

그리고 소스코드와 같은 폴더에 두고 위 코드처럼 읽습니다. pandas는 파이썬에서 사용하는 데이터를 정리하는데 유용한 도구입니다. 겁먹지 말고 그냥 read_csv 파일로 읽어보도록 하죠.

info()는 데이터의 구조를 알려줍니다.

먼저 간단한 테스트를 해보죠. raw_data에서 "대분류"라고 하는 컬럼에서 "성별"로 적혀있는 것만 확인하고 싶다면 저렇게 조건문을 걸 수 있습니다. 데이터는 여러 항목들이 있습니다만, 저는 성별로만 구분하고 싶어서 저렇게 선택을 했더니.. 그러면 기간과 대분류라는 컬럼은 저에게는 쓸모가 없겠네요~

그래서~ 기간이라는 컬럼을 지우는 방법은 저렇습니다^^

이제 기간이라는 컬럼을 지울께요. raw_data라는 변수에서 기간이라는 컬럼을 지우고 inplace 옵션을 써서 변수 내용을 엡데이트했습니다.

이제 다시 성별만 추출하는 거죠.

이제 그림을 그릴건데, 파이썬의 기본 그래프 그리는 도구인 matplolib의 기본 폰트가 한글을 지원하지 않습니다. 그래서 기본폰트를 변경해주어야합니다. 윈도우유저는 f_path에 경로를 Windows의 폰트 저장 경로로 지정하면 됩니다.

이제 "운동을 할 충분한 시간이 없어서"라는 컬럼을 pie 그래프로 그려보았습니다. 그래프가 생각보다는 잘 나오네요. 그런데, 뭔가 어색하기도 합니다. 일단 저~ 1, 2 숫자~

1, 2, 숫자로 된 라벨을 변경할 방법이 하나만 있지 않지만, 지금 상황에서 편하게 그림을 그리는 방법으로 index라는 것을 바꾸기로 했습니다. 원래 1, 2가 인덱스로 잡혀 있었거든요. 그걸 분류(남자, 여자)로 하겠습니다.

이제 다시 그려보면 저렇게 나타납니다. 보다 보기 편해졌네요~

이제 "함께 운동을 할 사람이 없어서"라는 컬럼도 그려보려고 하는데 안되네요ㅠㅠ.

대충 보기엔 정상으로 보이는데요~

네. 그건 해당 컬럼이 숫자가 아니라서 그렇습니다. (object)

그래서 강제로 float형으로 바꿔주었습니다.

다시 그려보니 괜찮네요~

이번에는 보다 보기 편하게 한 번 그려보도록 하겠습니다.~^^ 저렇게 두 개를 동시에 표현해보는거죠^^

이렇게 넣어버리면 됩니다.

좀 더 이쁘게 치장하고 싶다면 (앙마는 디테일이죠.ㅠㅠ)

이렇게 됩니다. 그나저나, 남성들은 운동을 하지 않는 이유로 운동을 할 시간이 충분하지 않다는 이야기를 많이 하는 모양이네요^^ 이 과정은 아래 동영상으로도 설명을 했습니다^^

 

반응형