파이썬 72

tensorflow : Logistic Classification유형 모델링 하기

기본 필요 import문 import numpy as np import pandas as pd 머신러닝과 같은 순서를 가졌다고 생각하면 된다. from sklearn.preprocessing import OneHotEncoder , LabelEncoder from sklearn.compose import ColumnTransformer 1.nan데이터 확인 2.X,y데이터 분리 3.분리된 X데이터에서 인코딩하기 2개는 레이블 3개이상은 원핫 4.피쳐스케일링 하기 딥러닝은 무조건 피처스케일링을 해줘야 한다. from sklearn.preprocessing import MinMaxScaler 5.트레이닝 셋 나누기 from sklearn.model_selection import train_test_split..

데이터프레임안 nan대신 0으로 채워저 있을때 : pandas replace

머신러닝 작업하기위해 데이터를 수집하는 단계에서 데이터프레임안 NaN데이가 있는지 판단하기 위해 df.isna().sum()을 사용할때 이런식으로 nan데이터는 없다고 나오지만 디스크라이브를 통해 분석을 해보면 나이나 피부 등등 0이 나올수 없는 값이 0이 나오는경우가 있다. 이런경우 데이터프레임에 nan대신 0을 집어 넣었다는 이야기가 된다. 이런경우 판다스 데이터프레임 함수 replace를 활용하면 좋다 df.loc[ :,컬럼].replace(바꾸기전 내용, 바꿀 내용) 저 데이터에선 df.loc[ :,'Plas':'age'].replace(0, np.nan) 이렇게 하면 0을 nan데이터로 바꿔버릴수 있음 df.loc[ :,컬럼].replace(바꾸기전 내용, 바꿀 내용)

[numpy, pandas] time Seires: datetime64 / pd.to_datetime / pd.date_range()

[numpy] datetime64 기존의 파이썬 datetime 을 보강하기 위해, date 의 array 도 처리할 수 있게 numpy 에서 64-bit 로 처리하도록 라이브러리를 강화한 형태 np.array('날짜', dtype = np.datetime64) 이렇게 datetiem64를 활용할경우 연산이 훨씬 편해진다 당연히 넘파이 함수이기 때문에 arange와 연산도 가능하다 판다스 to_datetime 문자열로 되어있는 날짜의 리스트를 한번에 파이썬의 날짜형식으로 변환하는 함수 pd.to_datetime(date_list) 그냥 눈으로 봤을때는 날짜 형식이지만 실제로는 문자열로 되어있는 데이터를 쉽게 날짜로 바꿔버림 전체 데이터를 날짜로 바꿨기 때문에 모든 데이터를 쉽게 가공할수있음 [pandas..

pandas pivot_table

피벗테이블 컬럼값을 인덱스로 만들고, 인덱스를 중복제거하여 유니크하게 만드는 방법 pd.pivot_table(데이터프레임, index = ['컬럼명'] 이러한 데이터 프레임이 있다면 여기서 Name 컬럼에 중복되는 데이터가 많다 이러한 경우 피벗테이블을 이용해 쉽게 유니크 시킬수 있음 이런식으로 중복되는 컬럼은 인덱스로 옮기며 하나로 합쳐지고 그외 숫자 데이터도 합쳐지는걸 볼수있다. 이때, 기본 디폴트는 숫자데이터의 평균 파라미터 aggfunc= np.sum 파라미터 aggfunc은 데이터 처리를 표현해줌 파라미터 values = ['컬럼명'] 원하는 데이터만 피벗테이블화 시킬수 있음 피벗테이블 함수) pd.pivot_table(데이터프레임, index = ['컬럼명']) 파라미터 aggfunc= 식 숫..

api 활용하기(구글맵스)

데이터분석을 하거나 혹은 어플리케이션을 개발할때등 정확한 위치의 좌표가 필요하거나 특정장소의 행정구역 데이터를 정리해야하는 순간이 온다면 지도 오픈 api중 가장 큰 구글맵스를 활용하면 좋다. 구글 Maps API는 유료 api인데 사용량 만큼 돈이 나가는 api이기 때문에 구글아이디를 통해 결제용으로 설정만 한다면 구글 맵스api를 발급 받을수 있다. 유료 api이지만 한 달에 28,500번 정도는 무료로 사용할수있기때문에 개인 공부용으론 무리없이 사용가능 구글맵스 api를 사용하기 위해선 라이브러리 설치를 진행해야하는데 import googlemaps gmaps_key = "발급받은 API 키" gmaps = googlemaps.Client(key=gmaps_key) gmaps.geocode('검색어..

데이터분석중 데이터값에 ~가 들어가지 않는 경우 ( false값 뒤집기) pandas

데이터 분석중 데이터프레임 데이터중 특정컬럼에 특정데이터가 들어가지 않는 경우를 출력하라. 데이터프레임 데이터중 특정컬럼에 특정 데이터가 들어가는 경우 → df['컬럼'].str.contains('특정단어' , case=False) 이경우 결과 값은 포함하는 데이터가 True 포함하지 않으면 False panas 문법으로 이때 문법 앞에 ~를 붙일경우 결과값을 반대로 뒤집을 수 있음 ~df['컬럼'].str.contains('특정단어' , case=False)

파이썬 데이터 시각화7 plt.tilte 한글사용 가능하게 하기

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=p..

파이썬 데이터시각화6 Heatmaps

히트맵 스캐터사용시엔 데이터별 구분에 직관성이 떨어짐 히트맵은 색깔로 데이터 분포를 표시해서 데이터가 많고 적음을 표시할 수 있다. plt.hist2d(data = 데이터프레임 , x='비교컬럼', y='비교컬럼') 히스토그램을 2차원으로 표현한다는 뜻 데이터가 없는 부분에도 색이 있기때문에 표현이 힘듬 cmin = 0.n 파라미터 cmin은 데이터 없는 부분 색을 지울수 있음 plt.colorbar() 어떤 색이 많은 데이터를 함유하는지 표시가 가능 파라미터 cmap='viridis_r' 농도가 많을수록 진하고 없을수록 연하게 바꿀수 있음 bins = n 당연히 더 촘촘하게 넉넉하게 bin의 범위도 설정 가능 plt.hist2d(data = 데이터프레임 , x='비교컬럼', y='비교컬럼', cmin ..

파이썬 데이터시각화5 Scatterplots/regplot/pairplot/상관계수

Scatterplots 두 컬럼간의 관계를 차트로 표현하는 방법 비례,반비례,아무관계 없음을 확인할수있음 plt.scatter(data = 데이터프레임, x='비교할첫번째 칼럼',y='주번째 컬럼' ) plt방법 반비례하는 모습을 이렇게 시각화된 모습으로 보는게 가능 데이터프레임.corr() 보통 scatter와 상관관계 계수를 붙여서 많이 활용 수많은 컬럼과 컬럼사이 상관관계 계수가 표현 원하는 값만 가져와서 보여줄수도 있음 regplot seaborn의 rgplot을 활용한 방법 sb.regplot(data= df1, x='비교컬럼1', y='비교컬럼2') 그래프와 상관관계 분포를 한번에 보여준다. pairplot 데이터마다 매칭하여 비교 2개이상의 데이터를 비교할수있음 sb.pairplot(data..