데이터

matplotlib.pyplot.hist2d(x, y, bins=10, range=None, density=False, weights=None, cmin=None, cmax=None, *, data=None, **kwargs) 에서

data: df, x,y: 원하는 column, bins:간격을 넣고 cmin,cmap으로 꾸며 준다.

날짜가 들어간 문자열에 pd.to_datetime(문자열)을 통해 DatetimeIndex를 만들 수 있다.

pd.to_timedelta를 통해 시간이나 날짜단위를 더할 수 있다.

timedelta

pd.date_range는 시작일과 종료일을 셋팅하면, 알아서 날짜를 채우도록 하는 함수

pd.timedelta_range 반복회수와 시간을 셋팅하면 배열을 반환한다.

상관 관계 분석에 대해서 알아봅니다.

https://ko.wikipedia.org/wiki/%EC%83%81%EA%B4%80_%EB%B6%84%EC%84%9D

 

상관 분석 - 위키백과, 우리 모두의 백과사전

상관 분석(相關 分析, Correlation analysis)은 확률론과 통계학에서 두 변수 간에 어떤 선형적 관계를 갖고 있는 지를 분석하는 방법이다. 두 변수는 서로 독립적인 관계이거나 상관된 관계일 수 있으

ko.wikipedia.org

상관계수는 -1부터 1까지의 값을 갖는다.1일 때 완벽한 양의 상관관계가 되고, -1일 때 완벽한 음의 상관관계가 된다. 0이라면 별다른 상관관계가 없음을 의미한다. 상관계수가 0.1 이하면 관계가 없고, 0.3 이하면 약한관계 입니다.

 

data

먼저 필요한 라이브러리를 import해준다. 아래 코드는 한글출력을 위한 코드다.

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sb

%matplotlib inline

import platform

from matplotlib import font_manager, rc
plt.rcParams['axes.unicode_minus'] = False

if platform.system() == 'Darwin':
    rc('font', family='AppleGothic')
elif platform.system() == 'Windows':
    path = "c:/Windows/Fonts/malgun.ttf"
    font_name = font_manager.FontProperties(fname=path).get_name()
    rc('font', family=font_name)
else:
    print('Unknown system... sorry~~~~')

corr

sb.regplot은 점그래프와 상관계수를 시각화 한것이다. pd.corr()을 통해 원하는 column끼리의 상관계수를 알 수 있다.

시리즈는 데이터프레임의 하위 자료형으로, 1개의 열이 시리즈이고 이 시리즈가 다수 모여 데이터프레임을 형성한다고 이해하면 쉽다.

import pandas as pd
index = ['eggs', 'apples', 'milk', 'bread']
data = [30, 6, 'Yes', 'No']
groceries = pd.Series(data = data, index = index)
groceries
eggs       30
apples      6
milk      Yes
bread      No
dtype: object

시리즈 변수에 []기호 안에 숫자 인덱스나, 정해놓은 인덱스를 넣으면 되고, 두개이상 쓸때는 배열로 넣는다.

groceries[0]
groceries[['eggs','bread']]
30

eggs     30
bread    No
dtype: object

다음은 데이터프레임을 생성해보겠다.

import pandas as pd

# We create a dictionary of Pandas Series 
items = {'Bob' : pd.Series(data = [245, 25, 55], index = ['bike', 'pants', 'watch']),
         'Alice' : pd.Series(data = [40, 110, 500, 45], index = ['book', 'glasses', 'bike', 'pants'])}
df = pd.DataFrame(data = items)
df

DataFrame

마찬가지로 데이터 억세스는 []로 한다.

column

두번째는 행과 열의 정보로, 데이터를 가져오는 방법 사람용인, 인덱스와 컬럼명으로 데이터를 억세스(가져오는) 방법이다. loc[인덱스, 컬럼명]

loc

세번째는 컴퓨터가 자동으로 매기는 인덱스로, 행과 열을 가져오는 방법이다.

엑셀에서 사용하는 피벗테이블과 같은 기능을 처리하는 방법을 알아보자. 아래는 예제에 사용할 데이터다.

데이터
pivot_table

pandas.pivot_table(data, values=None, index=None, aggfunc='mean')

data: DataFrame

values: 열 자리에 들어갈 column

index: 인덱스에 들어갈 column

aggfunc: 적용할 함수

구글 맵 API를 이용하기위해, 아나콘다 프롬프트 실행하고, 다음을 실행. pip install googlemaps

구글 클라우드의 MAPS API 페이지로 이동하여, API 키를 생성합니다.

https://cloud.google.com/maps-platform/?hl=ko 

 

Google Maps Platform - Location and Mapping Solutions

Create real world and real time experiences for your customers with dynamic maps, routes & places APIs from Google Maps Platform’s location solutions.

mapsplatform.google.com

콘솔로 이동 => Geocoding API 선택 => 사용자 인증정보에서 API 키 생성

구글 맵스를 사용해서 경찰서의 위치(위도, 경도) 정보를 받아온다

import googlemaps

gmaps_key = "API key 입력" # 자신의 key를 사용합니다.
gmaps = googlemaps.Client(key=gmaps_key)

# API 호출 (API CALL)
gmaps.geocode('서울중부경찰서', language='ko')
[{'address_components': [{'long_name': '27',
    'short_name': '27',
    'types': ['premise']},
   {'long_name': '수표로',
    'short_name': '수표로',
    'types': ['political', 'sublocality', 'sublocality_level_4']},
   {'long_name': '중구',
    'short_name': '중구',
    'types': ['political', 'sublocality', 'sublocality_level_1']},
   {'long_name': '서울특별시',
    'short_name': '서울특별시',
    'types': ['administrative_area_level_1', 'political']},
   {'long_name': '대한민국',
    'short_name': 'KR',
    'types': ['country', 'political']},
   {'long_name': '100-032',
    'short_name': '100-032',
    'types': ['postal_code']}],
  'formatted_address': '대한민국 서울특별시 중구 수표로 27',
  'geometry': {'location': {'lat': 37.56361709999999, 'lng': 126.9896517},
   'location_type': 'ROOFTOP',
   'viewport': {'northeast': {'lat': 37.5649660802915,
     'lng': 126.9910006802915},
    'southwest': {'lat': 37.5622681197085, 'lng': 126.9883027197085}}},
  'partial_match': True,
  'place_id': 'ChIJc-9q5uSifDURLhQmr5wkXmc',
  'plus_code': {'compound_code': 'HX7Q+CV 대한민국 서울특별시',
   'global_code': '8Q98HX7Q+CV'},
  'types': ['establishment', 'point_of_interest', 'police']}]

데이터
hist2d

hist2d()를 이용해 히트맵을 그린다. 파라미터는 x,y에 column bins에 간격을 넣고 cmin cmap으로 색을 꾸민다.

data
scatter

scatter(data = DataFrame , x = column, y = column)로 그래프를 그리고, 제목과 라벨을 넣는다.

regplot

replot(data = DataFrame, x = column, y = column)을 통해 그래프를 그린다. 그래프에 선은 회귀를 나타낸 것이다.

corr()을 통해서도 알 수 있다.

'데이터 분석 > 데이터 시각화' 카테고리의 다른 글

파이썬 corr()과 상관분석 시각화  (0) 2022.05.04
파이썬 hist2d() 히트맵  (0) 2022.05.03
파이썬 hist() 히스토그램  (0) 2022.05.03
파이썬 pie charts  (0) 2022.05.03
파이썬 countplot() bar charts  (0) 2022.05.03

히스토그램

구간을 설정하여 해당 구간에 포함되는 데이터가 몇개 있는 세는 차트를 히스토그램이라고 한다.
구간을 전문용어로! bin 이라고 부른다, bin 이 여러개니까, bins라고 부른다, 히스토그램의 데이터는 동일하지만,
구간을 어떻게 나누냐에 따라서, 차트 모양이 여러가지로 나온다.

data

위는 예제에 쓸 데이터다.

hist

hist(data = 데이터프레임, x = 데이터프레임의 열, rwidth = 막대 넓이, bins = 막대 간격)을 통해 그래프를 그린다.

pie chart

데이터 df는 전글에 이어서 그대로 사용한다. sorted_data를 value_count()로 구해 대입한다.

autopct는 소수점을 나타내고, labels에는 index를 넣어준다.

stratangle을 통해 chart를 회전할 수 있고 wedgeprops로 중간에 구멍을 뚫을 수 있다.

title과 legend(범례)를 넣어준다

+ Recent posts