🧐데이터 분석

데이터 분석 2 - 시각화

민팽 2021. 8. 20. 14:42

1. 그래프 종류

1) 바 그래프 - 각 항목들의 수치, 순위를 보기 편함.

2) 라인 그래프 - 이전 항목들, 흐름에 따른 데이터의 결과

를 보기 좋음.

3) 파인 차트 - 비율을 볼때 좋음

4) 히트맵 - 두 개의 축의 수치를 한눈에 볼 수 있음

5) 지도 - 지리 정보에 따른 데이터를 보기 좋음.

 

2. 데이터 분석의 4 단계

데이터 불러오기 -> 데이터 살펴보기 -> 데이터 가공하기 -> 데이터 시각화

 

3. 데이터 분석

- 데이터 정렬

sort_values(ascending=True) -> 오름차순 정렬

sort_values(ascending=False) -> 내림차순 정렬

- 데이터 자르기

str.split(' ', n=2, expand=True) -> 공백마다 자름. 2번 잘라서 총 3개의 데이터가 됨.

ex) "사랑시 고백구 행복동" => "사랑시", "고백구", "행복동"

- 필요한 데이터만 남기기

file = read_csv("주소")

want_data = file[file['컬럼 명']=='필요한 데이터 컬럼명']

-그래프 데이터 회전?

plt.xticks(rotation=각도)

x축의 그래프 칼럼 명을 각도에 따라 다르게 표현할 수 있음.

4. 지도 그래프

1) 라이브러리

위와 같은 라이브러리가 필요하다.

*

주피터 노트북에서 folium이 없을때 설치해야함.

conda install -c conda-forage folium

*

2) 지도 만들어줌

map = folium.Map(location=[좌표, 좌표], zoom_start=10)

->location으로 가져올 지도의 좌표를 나타내고 zoom_start로 어느정도로 키울 것인지 나타냄.

3) 지도 json파일 가져옴

geo = '지도파일디렉터리/지도파일.json'

geo_data=json.load(open(geo, encoding='utf-8'))

4) 지도에 가공한 데이터 표시하기

folium.Choropleth(geo_data=geo_data,

data=지도위에 나타낼 데이터,

columns=[지도위에 나타낼 데이터.index, 지도위에 나타낼 데이터],

fill_color='PuRd', #색상!

key_on='feature.properties.name').add_to(map)

map #map을 볼 수 있음

5. 바 그래프 분석 시 주의사항

데이터가 숫자형일때, string타입으로 변경해야 값이 줄여지지 않는다.

리스트를 사용해서 바꿔준다.

date=[]

for day in 데이터A.index:

date.append(str(day))

plt.plot(date, 데이터A)

#그 다음의 코드들은 변함 없다!

6. 데이터 합치기

join을 사용해 칼럼A를 기준으로 합쳐놓았던 데이터A와 B를 다시 행과 열의 데이터로 만들어 합칠 수 있다.

new_dataA = pd.DataFrame(dataA).reset_index()

new_dataB = pd.DataFrame(dataB).reset_index()

mix_data = new_dataA.join(new_dataB.set_index('합치는 기준인 데이터 B의 칼럼'), on='합치는 기준인 데이터A의 칼럼')

이렇게 새로 만든 데이터를 통해 새로운 그래프를 시각화 할 수 있다.

- 치킨집 당 유동인구수 구하기

#gu_chicken # 유동인구와 치킨집, 구의 자료가 있는 데이터.

gu_chicken['유동인구수/치킨집수'] = gu_chicken['유동인구수']/gu_chicken['상권업종소분류명']

gu_chicken = gu_chicken.sort_values(by='유동인구수/치킨집수')

plt.figure(figsize=(10,5))

plt.bar(gu_chicken['구'], gu_chicken['유동인구수/치킨집수'])

plt.xlabel('구')

plt.ylabel('유동인구수/치킨집수')

plt.xticks(rotation=90)

plt.show()