데이터 시각화_ 인스타그램( #서울맛집추천) with 파이썬
목적 : 인스타그램에서 올라오는 (#서울맛집추천) 키워드 관련 다양한 데이터를 수집한 후 분석하겠습니다. 이를 통해 최근 게시물 500개를 통해 사람들이 '서울맛집 동향'을 살펴보도록 하겠습니다. + 인스타그램 게시글 별 위치 정보를 시각화하는 방법 (카카오 API 사용)
1) 데이터 준비_위치정보 가져오기
: 지난시간에 한 (column)까지 잘 넣어 두었습니다. 보이시죠?
value_counts()함수를 통해 빈도수를 집계합니다. 이후에 저장된 데이터는 pandas 데이터프레임 형태로 전환했습니다. 이걸 엑셀 파일로 저장하였습니다.
이후에, 위치 정보의 종류 확인하기 위해 list형식으로 확인을 해보았습니다.
그다음으로 해야할건 카카오 API 가입하고 키를 확인하셔야 합니다.
자세한 내용은 제가 링크를 걸어두겠습니다.
2)위치 정보 검색하기
먼저 장소 검색 함수를 만들어줍니다. 이때,place에는 장소면, x 좌표, y좌표, 검색어를 리스트를 형태로 data 변수에 저장한 후 함수 결과값으로 리턴합니다. 이를 정리한 find_places() 함수를 이용해서 '서울'을 검색하면 , 지도상의 명칭, 경도, 위도, 검색어를 리스트 형태로 반환한것을 확인할수 있습니다.
그럼 이를 통해 수집한 데이터의 모든 위치에 대한 정보를 추가해서 지도시각화에 필요한 데이터로 정리해야합니다.
추출된 위치 정보를 데이터 프래임 형태로 읽은후에 칼럼명을 지정하고, 저장합니다. 이때, index = False를 지정해 인덱스가 엑셀에 저장하지 않게 합니다.
3) 위치 정보별 인스타 게시 횟수 정리
먼저 2번을 통해 저장된 파일과, 위치별 인스타 게시량 데이터를 불러옵니다. 이후에, 이 두개의 엑셀 파일을 하나로 merge()함수로 합쳐 저장합니다. info()를 확인하니, 위치정보가 73개밖에 없네요ㅠ 500개 데이터를 추출했지만, 그 데이터중에 위치를 저장한 데이터가 별로없다는걸 알수 있습니다. 그래서 데이터 추출할때, 데이터의 다각화된 분석을 위해선 데이터가 많아야 한다는걸 느낌니다. 하지만, 대략의 방법을 알려드리기 위해, 우린 조금의 양으로 만족하는걸로!!
4) folium을 이용한 지도 시각화하기
이전에 저장한, 위치변, 위도, 경도 좌표와, 위치면, 게시량 정보를 불러옵니다.
지도 시각화를 위해서는 지도의 중심 위치 좌표와 표시할 위치별 위도/경도 데이터가 필요합니다. 그래서 서울 중심의 한 곳을 좌표 [37.573050, 126.979189]로 지정하였습니다.
먼저, folium.Map() 명령어를 통해 지도를 생성하고, 옵션에 저장된 좌표를 중심으로 지도를 표시합니다. location_data에서 데이터 갯수만큼 공식 명치, 횟수, 경도, 위도정보를 각각에 변수에 저장한뒤에, folium.CIrcleMarker().add_to() 명령에 지도에 원을 추가합니다.
그럼 이러한 빨간 원들이, 게시글이 많은 것은 원의 크기가 다른것을 확인할수 있습니다.
5) folium을 이용한 지도 시각화하기- 그룹
위의 결과는 모든 핫플레이스 위치마다 서클 마커로 표시해두었습니다. 서클 마커는 분포를 한눈에 볼수 있는 장점이 있지만, 특정 지역에 너무 몰려있으면 개별 위치를 확인하기가 어렵습니다. 이런 점을 보완하도록 서틀 마커들끼리 그룹으로 묶어서 표시하는 방법을 알려드리겠습니다.
오늘까지 인스타의 데이터를 가공하고, 위치정보가 저장되어 있는 정보로 folium 을 통해 시각화를 하는 방법에 대한 것을 알려드렸습니다. 사실, 인스타를 통해 수집한 정보로, 해시태그 출현 빈도 집계도 가능합니다. 하지만 500개의 데이터 추출로는 유의미한 데이터 시각화가 어려울거 같아서, 추가하지 않았습니다. 하지만 지도 시각화를 통해 최근 인스타에 업로드된 사람들이 어느 맛집으로 가는지를 확인할 수 있었을 뿐만 아니라, 자세한 위치까지도 알수 있었습니다. 한번 여러분도 시도해보시길 바랍니다.
**더 추가해주시거나 고칠게 있다면 댓글 달아주세요:) 보고 배우겠습니다 **
문제시, 바로 삭제
댓글
댓글 쓰기