Pandas
-
[pandas], 콤마 제외하고 특수 문자 제거 ( 데이터프레임, replace, 정규표현식)데이터분석 2022. 11. 11. 12:51
정규 표현식 이용하면 됨 ^ : not 제외한다 \u : 유니코드 AC00 - D7A3 : 유니코드 한글 0-9 : 숫자 a-zA-z: 영어 (대소문자) \s : 공백 (Space,Tab) 한글, 영어, 숫자, 콤마 이외 표현은 아래와 같음 . [^,\uAC00-\uD7A30-9a-zA-Z\s] sample['keyword'].str.replace(r'[^,\uAC00-\uD7A30-9a-zA-Z\s]', '', regex=True) 한글,영어,숫자, 콤마 (,) , 닷 (.) 이외의 특수문자를 제거하고 싶으면 아래와 같이 [^.,\uAC00-\uD7A30-9a-zA-Z\s] https://stackoverflow.com/questions/39672094/how-to-remove-all-special-c..
-
[pandas]데이터프레임 행 단위 연산 (apply, 조건에 맞게 처리,예외 처리)데이터분석 2022. 11. 10. 18:30
데이터 프레임 A,B,C가 있음. C가 마스터 테이블 C의 'p' 열, 'm' 열의 각 행의 값이 조건 A,B 데이터 프레임의 열 이름이 C의 p열과 m열의 각 값과 일치할 경우 연산을 해야함 . 이럴때는 apply함수를 쓰면 됨. apply에서 lambda 함수로 쓰기엔 함수가 길다 싶으면 위에 함수를 정의해주자. 정의해준 함수 안에서 예외 처리 구문을 넣으면 해결! def cond_mul_np(p,m): try: np_p = A.loc[:,[p]].to_numpy() np_m = B.loc[:,[m]].to_numpy() mul = np_p * np_m result = mul.sum() except: # A or B 에서 C의 조건에 해당하는 열이 없는 경우 result = None return re..
-
[pandas] read_csv 화폐 단위 열 콤마(,) 제외하고 숫자로 읽어오기데이터분석 2022. 10. 14. 16:41
pandas.read_csv pandas.read_csv(filepath_or_buffer, sep=_NoDefault.no_default,delimiter=None,header='infer', names=_NoDefault.no_default,index_col=None,usecols=None,squeeze=None,prefix=_NoDefault.no_default, mangle_dupe_cols=True,dtype=None,engine=None,converters=None,true_values=None,false_values=None, skipinitialspace=False,skiprows=None,skipfooter=0,nrows=None,na_values=None,keep_default_na=T..
-
[pandas] read_csv 필요한 열만 읽기 usecols데이터분석 2022. 10. 13. 14:14
pandas.read_csv pandas.read_csv(filepath_or_buffer, sep=_NoDefault.no_default,delimiter=None,header='infer', names=_NoDefault.no_default,index_col=None,usecols=None,squeeze=None,prefix=_NoDefault.no_default, mangle_dupe_cols=True,dtype=None,engine=None,converters=None,true_values=None,false_values=None, skipinitialspace=False,skiprows=None,skipfooter=0,nrows=None,na_values=None,keep_default_na=T..
-
[pandas] replace 로 값 한꺼번에 바꾸기 ( replace with dictionary, regex)데이터분석 2022. 8. 10. 14:53
전처리해야할 열에 바꿀 단어들을 맵핑해 한번에 replace하고 싶을 경우 아래와 같은 순서로 코드 작성하면 됨 1. 바꿀 단어들을 {'before' : 'after' }와 같이 딕셔너리 형태로 작성 2. replace함수에 {"바꿀열이름": 바꿀단어딕셔너리} 를 인자로 작성 print('변경 전 : ',carc['Doors'].unique()) # 변경 전 : ['04-May' '02-Mar' '>5'] replace_dict = {"04-May" : '04-05', "02-Mar" : '02-03'} carc = carc.replace({"Doors": replace_dict}) print('변경 후 : ',carc['Doors'].unique()) # 변경 후 : ['04-05' '02-03' '>..
-
[pandas] pandas profiling on Google Colab (구글코랩에서 판다스 프로파일링 해보기)데이터분석 2022. 7. 14. 21:09
1. 판다스 프로파일링 설치하기 ! pip install https://github.com/pandas-profiling/pandas-profiling/archive/master.zip 2. 런타임 다시 실행 3. 라이브러리 import import numpy as np import pandas as pd try: from pandas_profiling import ProfileReport except : print('reinstall pandas profiling') !pip install https://github.com/pandas-profiling/pandas-profiling/archive/master.zip from pandas_profiling import ProfileReport 4. 프로..
-
[pandas] sort_values 이용해 열 기준 정렬데이터분석 2021. 2. 16. 16:05
data = pd.read_csv('/content/drive/Shared drives/데이터분석및활용/Challenger_Ranked_Games.csv') print('data 타입 : ',type(data)) print('열 이름 : \n',data.columns) 데이터 타입과, 열이름을 확인해봐야한다. 그리고 열이름을 프린트해두면 복붙하기 편하다. 게임 지속 시간(열이름 'gameDuraton' ) 을 기준으로 오름차순 정렬해보고 싶다면, forTimeDf1 = data.sort_values(by=['gameDuraton'],axis=0) forTimeDf1 위와 같이 입력하면 된다.