강의 선택 이유
사실 Python 데이터 분석 관련한 강의는 인터넷에 굉장히 많은데,
그 중에서도 이걸 수강해보고 싶다는 생각이 들었던 이유는 바로 전반적으로 통계~Python~실제 데이터
모두 찍먹을 해볼 수 있다는 점이었다.
빅데이터분석기사를 취득했음에도 사실 어떻게 실제 데이터를 다뤄야하는지에 대한 고민이 있었는데,
이 강의를 통해 기본적인 분석에 대한 접근 방법을 배우고 싶었다.
강의 구성
python (numpy / Pandas)
초반에는 결국 우리가 기본적으로 사용해야하는 언어인 python 중에서도 numpy / pandas 라이브러리를 배우게 된다.
numpy 와 pandas가 데이터 분석의 아주 기본적인 툴이 되므로 이 부분에 대한 개념을 확실히 잡고 가는 것이 후반부 강의를 위해 유용할 것이다.
해당 내용에 대한 개념들은 굳이 이 글에 따로 정리하진 않겠다.
=========================================
데이터 시각화
이제 기본적인 데이터를 다루는 방법을 배웠으니, 정제된 데이터를 가지고 시각화하는 방법을 배우게 된다.
Matplotlib / Seaborn / Plotly 에 대해서 간략하게 다루며 알려주신다.
나는 앞의 두 가지의 경우는 AI자격증과 빅데이터분석기사를 취득하며 사용해본 경험은 있으나, 정말 얕게 알고 있었기에
다시 한 번 되짚어보는 시간을 가질 수 있었다.
=========================================
크롤링
분석할 데이터를 수집하기 위한 크롤링 방법 강의도 간략하게 제공된다.
통계 강의
분석에 대한 근거를 뒷받침하고 응용할 수 있는 기본적인 통계 이론이 제공된다.
이력서 분석 보고서 코드
이력서에서 필요한 정보들을 추출하여 다량의 이력서를 하나의 최종 보고서로 만드는 과정이 소개돼있으며,
그대로 활용할 수 있도록 코드도 모두 제공된다.
=========================================
데이터 분석
내가 제일 듣고 싶었던 부분은 이 부분이기 때문에,
이 부분을 중점적으로 요약 정리하려고 한다.
실제 데이터 다루기
1. 코로나 데이터 분석 (성별 / 나이 / 지역 / 한국 / 세계)
# 성별에 따른 확진자 수 pie 그래프
import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = 12,8
group_explodes = (0.05, 0)
plt.pie(sex, labels=['female', 'male'],
explode = group_explodes,
shadow = True,
startangle=90,
colors = ['lightcoral', 'lightskyblue'],
autopct='%1.2f%%')
plt.title('Confirmed(sex)', size=15)
plt.axis('equal')
plt.show()
# 막대그래프
plt.xticks(rotation=70) #x 축 방향 기울이기(기울이지 않으면 겹침)
plt.bar(sex.index, sex.loc[:,'Female'], color='lightcoral', label='Female')
plt.bar(sex.index, sex.loc[:,'Male'], color='lightskyblue', label='Male')
plt.show()
# "Plotly"로 바그래프 그리기
female = go.Bar(x=sex.index, y=sex.iloc[:,0], name='Female')
male = go.Bar(x=sex.index, y=sex.iloc[:,1], name='Male')
data = female, male
# data
layout = go.Layout(title='Confirmed(sex)', barmode='stack')
fig = go.Figure(data=data, layout=layout)
fig.show()
last = last.sort_values(ascending=True)
# ascending 오름차순
# 낮은 것부터 차례로 배열
# descending 내림차순
# 높은 것부터 차례로 배열
location_data = go.Bar(x=last.index, y=last.values)
layout = go.Layout(title='전국 확진자수', xaxis_title='지역', yaxis_title='확진자수')
fig = go.Figure(data=location_data, layout=layout)
fig.show()
-----------------------------------------------------------------------------------------------------
2. 제주 여행, 언제 가야 하나요? (제주 날씨 데이터를 토대로 계절 추천)
월 별 기온을 정리해서 선그래프로 표현해보니,
서울과 제주의 기온차이가 꽤 나는 것도 알 수 있었다.
서울에 비해 영하로 거의 떨어지지 않는 것을 보니 제주도가 확실히 따뜻한 지역이라는 것과
여행하기에 좋은 날씨는 겨울, 봄, (가을?) 이라는 것을 명확한 근거를 통해 제시할 수 있게 됐다.
-----------------------------------------------------------------------------------------------------
3. 제주 관광 명소는 어디일까?
검색지 랭킹을 통해서 제주의 관광명소를 확인할 수 있다고 가정하고 분석이 시작됐다.
# 제주데이터만 남기고 나머지 데이터 삭제
def cleaning(location):
if location == '제주':
return location
else:
return np.nan
df['지역(시도)'] = df['지역(시도)'].apply(cleaning)
df
==============================================================================
def 관광명소를_제외하고_삭제(data):
if data == "관광명소":
return data
else:
return np.nan
def 숙소제외(data):
if data == "숙소":
return np.nan
else:
return data
df['검색지유형2'] = df['검색지유형2'].apply(관광명소를_제외하고_삭제)
df = df.dropna(axis=0, how='any')
df['검색지유형3'] = df['검색지유형3'].apply(숙소제외)
df = df.dropna(axis=0, how='any')
df
이렇게 데이터를 정제한 뒤에 가장 랭킹 평균이 높은 지역으로 결과를 확인해보았다.
-----------------------------------------------------------------------------------------------------
4. 제주에 여자가 진짜 많을까?
전국 인구 데이터를 사진 처럼 df로 가지고 와서 그래프로 시각화하여 비교해보려고 한다.
해당 df에 남여비율이 계산돼서 나와있는데 해당 비율은 여자인구수 대비 남자인구수이다.
따라서, 비율의 숫자가 높을 수록 남자인구수가 더 많다는 뜻이다.
그래프에서 보았을 때 가장 최저점은 "서울특별시" 로 여자가 상대적으로 가장 많은 곳이다.
남자 비율이 월등히 높은 곳은 울산...? 아마 그쪽이 포항제철, 현대자동차 같은 산업단지가 몰려있어서 근무자들이 쏠려 생기는 현상일까?
이유는 모르겠지만 해당 그래프에서 알 수 있는 사실은 꽤나 남자 비율이 높다는 것.
-----------------------------------------------------------------------------------------------------
실제 데이터들을 가지고 직접 시각화하거나, 필요한 데이터를 구체화시켜보면서
배웠던 내용을 응용해볼 수 있어서 재밌었던 것 같다.
수강 후기
강의에서 실제 데이터를 다루면서 느꼈던 점은
내가 python을 잘 다룬다고 해서 데이터분석을 잘 할 수 있는 것도 아니고,
통계 이론만 빠삭하다고 해서 실제 데이터를 통해 유의미한 결과를 도출할 수 있는 것도 아니라는 것이다.
데이터 분석을 위해서는 양질의 데이터셋을 구할 수 있느냐가 최우선적으로 고려돼야하고,
그 이전에 바탕이 되는 것은
내가 어떤 데이터를 분석해서 무엇을 알아내고 싶은지에 대한 데이터 분석 기획 능력이 굉장히 중요하다는 것이다.
좋은 의도와 목적을 가지고 양질의 데이터셋으로 분석을 시도해도
적절한 통계 지식 없이는 잘못된 분석 결과를 도출해내서 전혀 다른 결과를 결론으로 가져갈 수도 있다는 게 조금 두려운 부분이었다.
재미로 시작했던 데이터 분석에 대한 공부지만
정말 많은 부분들을 고려하고 공부해야 비로소 유의미한 분석 결과를 낼 수 있다는 것을 배울 수 있었다.
데이터 분석을 python으로 어떻게 해나가는지 궁금한 많은 분들에게 추천할 만한 강의이다.
'위니브 엠버서더' 카테고리의 다른 글
[위니브 엠버서더 3기] 파이썬 코딩테스트 기초 입문 강의 6주차 도전 (0) | 2024.08.30 |
---|---|
[위니브 엠버서더 3기] 파이썬 코딩테스트 기초 입문 강의 5주차 도전 (2) | 2024.08.27 |
[위니브 엠버서더 3기] Python 엑셀 프로그래밍 - with xlsxwriter 수강 후기 (0) | 2024.08.23 |
[위니브 엠버서더 3기] 파이썬 코딩테스트 기초 입문 강의 4주차 도전 (0) | 2024.07.30 |
[위니브 엠버서더 3기] 아주 쉽다 클라우드! AWS Lightsail 자습서! 인프런 클라우드 강의 수강 후기 (13) | 2024.07.30 |