pandas 19

딥러닝 : prophet으로 범죄율 예측하기

시카고 범죄 현황 먼저 Date 컬럼 가공 iso 표준 시간으로 바꿔주기 chicago_df['Date'] = pd.to_datetime(chicago_df['Date'] , format = '%m/%d/%Y %I:%M:%S %p') 인덱스 설정 https://seonggongstory.tistory.com/164 pandas: resample이용하여 Time Series 년도별,월별,일별 group화 하기 시카고의 범죄상황 데이터 프레임 여기서 년도별 시간별로 월별등 시간을 쪼개서 데이터를 가공하고 싶을때 그룹바이함수를 이용해서는, 날짜 데이터로 바로 년단위 ,월단위, 일단위, 시단위, seonggongstory.tistory.com 데이터 준비 chicago_prophet = chicago_df.re..

pandas: resample이용하여 Time Series 년도별,월별,일별 group화 하기

시카고의 범죄상황 데이터 프레임 여기서 년도별 시간별로 월별등 시간을 쪼개서 데이터를 가공하고 싶을때 그룹바이함수를 이용해서는, 날짜 데이터로 바로 년단위 ,월단위, 일단위, 시단위, 분단위, 초단위 등으로 묶어라 이런거 못한다 따라서, 먼저 Date 컬럼을 인덱스로 만들어준다. → 그러면 resample 함수를 사용할수 있게 된다. 이함수 년단위,월단위,시단위 등등 으로 데이터를 묶어서 처리가 가능하다는것 변수.resample('alias') 이렇게 년,월,일,시,분으로 다 정리가 가능하다

pandas: collaborative filtering을 통한 영화 추천시스템 구현

import pandas as pd import numpy as np 데이터 가공 공통된 컬럼인 item_id를 토대로 합치되, 필용없는 타임스탬프 컬럼은 제거 movies_rating_df = movies_rating_df.drop('timestamp',axis=1) movies_rating_df = pd.merge(movie_titles_df , movies_rating_df, on = 'item_id' , how='left' ) 여기서 how를 하지 않으면 평점을 메기지 않은 정보는 머지 되지 않기 때문에 how를 곡 해준다. 타이틀별 평균 평점을 구하기 movies_rating_df.groupby('title')['rating'].describe() ratings_df_mean = movies_r..

데이터프레임안 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= 식 숫..

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

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

파이썬 라이브러리22 pandas 데이터프레임 정렬하기/sort/ascending

데이터 정렬하기 1)오름차순 변수.sort_values('컬럼') 변수.sort_values('컬럼' , ascending = True) 변수.sort_values('컬럼' , ascending = True) ascendign(증가) = True란뜻으로 오름차순을 의미 기본적으로 어센딩이 포함된 형태가 맞지만 기본적으로 디폴트값으로 설정되어 있어서 특별하게 표시를 안해줘도 오름차순으로 정렬 된다. 이 데이터에서 경력으로 정렬을 한다면 2)내림차순 변수.sort_values('컬럼' , ascending = False) 반대로 어센딩이 거짓이라면 내림차순 3)혼합 이름은 오름차순으로 정리하고 경력은 내림차순이라면 먼저 이름과 경력을 정렬을 해보고 df.sort_values(['Employee Name','..

파이썬 라이브러리21 pandas 데이터프레임 : applying 함수

데이터프레임 함수적용 데이터프레임의 데이터에 함수를 이용해서 새로운 데이터를 만들고 컬럼을만들어 저장하기 데이터를 한번에 가공하는 함수는 변수['컬럼'].apply( 함수 ) apply 함수안에 내가 적용하고 싶은 함수의 이름만 써준다 이때 함수옆에()는 빼준다. 이 데이터 프레임안에 직원의 이름이 몇글자인지 나타내는 컬럼을 작성 할때. 기존 글자수를 세는 파이썬 기본함수 len()이 있다 기존엔 문자데이터 하나를 변수에 저장하고 변수에 함수를 적용하여 글자수를 확인하는 하나하나씩 데이터를 저장했는데 df['Employee Name'].apply( len ) 0 6 1 5 2 5 3 4 Name: Employee Name, dtype: int64 df데이터프레임 안에 'Employee Name' 컬럼안 ..