
안녕하세요! 여러분
오랜만이에요
그동안 개강하고 바쁜 학기를 보내느라 블로그에 업로드를 하지 못했어요...
(하지만 학점은 잘 챙겼으니까 봐주세요 ㅎㅎ)

이제 방학했으니 지금까지의 성과물과 스터디 내용을 가열차게 업로드해볼 예정입니다!
먼저 오늘은 <파이썬으로 데이터 주무르기> 의 1장인 '서울시 구별 CCTV 현황 분석'에 대해 학습할 예정입니다.
출판한 지 꽤 된 책이라 책 내용과 살짝 다르게 업데이트 된 최신 데이터와 판다스 함수를 통해 분석했으니
참고하실 분들은 참고하시면 좋을 것 같아요.
정리 방식은 오늘 제가 데이터를 분석하면서 사용한 pandas의 기능을 나열하는 식으로 하도록 하겠습니다!
1. 데이터 가져오기
분석에 필요한 데이터: 서울시 구별 CCTV 수, 서울시 구별 인구 수
데이터 획득 경로:
서울 열린데이터 광장- 서울시 자치구 년도별 CCTV 설치 현황(url: http://data.seoul.go.kr/dataList/OA-2734/F/1/datasetView.do)
(본 데이터는 csv 파일을 분석하는 것을 배우기 위한 예시 데이터이기 때문에 파일을 내려받고 저장할 때 형식을 CSV-UTF-8(쉼표로 분리)(.csv)로 저장해줘야 오류가 안 생깁니다.)
서울 열린데이터 광장-서울시 주민등록인구(구별)통계(url:http://data.seoul.go.kr/dataList/419/S/2/datasetView.do)
(책에선 2017년도 이전까지의 정보만 업데이트되어 있지만 지금은 2023년도 이전까지 업데이트되어 있습니다. 또한 엑셀상 정보 나열 방식도 살짝 다르니 책의 단계와 똑같이 하기 위해선 엑셀에서 먼저 위의 행을 삭제하고 시작하는 것도 좋습니다. 또한 고령자 인구 수가 해당 데이터엔 없어서 분석 시 외국인 비율만 분석했어요.)
2. 데이터 분석하기
2-1. Pandas 모듈: 파이썬의 데이터 분석 라이브러리로 엑셀 등의 수치형 테이블을 분석하고 시계열 데이터를 조작하는 등 각종 데이터 분석 시 유용한 모듈.
2-2. 데이터 분석 시 사용한 기본 pandas 기능:
- pandas 모듈 불러오기 : import pandas as pd
- csv 파일을 읽어오는 명령: read_csv()/ 인코딩 옵션 넣어주기: read_csv('파일 경로 복사 링크',encoding='utf-8')
- 불러온 데이터의 첫 5행만 보여달라는 명령: head()
- csv 파일에서 열의 제목(이름)들만 불러오기(리스트 형태로 반환함.): columns / 첫번째 이름 불러오기: cloumns[0]
- 열의 제목인 칼럼명 바꾸기: rename()/ 변경된 내용 업데이트하기 옵션: rename(columns={CCTV_Seoul.colums[0] : '구별'},inplace=True)
- excel 파일 읽어오는 명령: read_excel()/ 인코딩 옵션 넣어주기: read_excel('파일 경로 복사 링크', engine='openpyxl' (최근 변형된 엑셀파일에선 encoding이라는 키워드를 사용하지 않고 'utf-8' 도 사용하지 않음. 대신 engine='openpyxl'을 사용함.)
- 엑셀에서 특정 열만 읽도록 지정하기: usecols='원하는 열'
- 엑셀에서 특정 행부터 읽도록 지정하기: header=2 (세 번째 줄부터 읽으라는 의미)
- 특정 칼럼을 기준으로 순서 정렬하기: sort_values()/ 기준 칼럼명 지정 및 오름차순, 내림차순 정리: sort_values(by='칼럼명', ascending=False)
- 행을 지우는 명령: drop()/ 0번째 행을 지우고 싶을 때: drop([0], inplace=True)
- 열을 삭제하는 명령: del()
2-3. 데이터 분석 시 사용한 pandas 고급 기능- 두 데이터프레임 병합하고 분석하기
- 두 데이터의 공통된 칼럼을 기반으로 합치기: merge() /칼럼명 '구별'이 공통된 칼럼일 때 이를 기준으로 합칠 때: merge(CCTV_Seoul, pop_Seoul, on='구별')
- 인덱스를 특정 칼럼으로 지정하기: set_index()/ 칼럼명 '구별'을 특정 칼럼으로 지정할 때: set_index('구별', inplace=True)
- 두 변수(칼럼)의 상관계수 계산하기: corrcoef/ 예) np.corrcoef(data_result['외국인 비율'],data_result['총계'])
3. 데이터 분석 결과
아직 표나 그래프를 이용한 시각화는 하지 않았고 병합하고 정렬한 표와 상관관계 분석까지 해보았습니다. 다음 시간에는 오늘 배운 내용을 바탕으로 다른 주제에 응용하여 데이터를 분석하고 결과를 도출해보는 시간을 가져보도록 할게요!
pandas가 처음이라 굉장히 오랜 시간이 걸렸는데 일단 오늘 학습한 내용을 요약해보면 이렇게 얼마 안 되네요.
다음 시간에 또 만나요! 꿀

'파이썬으로 데이터 주무르기 스터디&응용' 카테고리의 다른 글
1-5. 군위군과의 교육 격차 개선을 위한 대구광역시 학업성취도에 영향을 미치는 요인 분석 (0) | 2024.01.15 |
---|---|
1-4. 대구광역시 구별 인구 수와 교육 시설 살펴보기(3)(다른 데이터를 통한 응용 및 실습) (1) | 2024.01.08 |
1-3. 파이썬을 통해 데이터 시각화하기 (1) | 2024.01.06 |
1-2. 대구광역시 구별 인구 수와 교육 시설 살펴보기(2)(다른 데이터를 통한 응용 및 실습) (2) | 2024.01.04 |
1-1. 대구광역시 구별 인구 수와 교육 시설 살펴보기 (다른 데이터를 통한 응용 및 실습) (2) | 2024.01.03 |