-
파이썬 if ~ not in의 사용python 2020. 12. 22. 20:29
파이썬 문법 중 if~in / if ~ not in 에 대한 내용이다. 항상 헷갈리는 부분이라서 정리해둔다.
(0) 기본적인 사용방법은 다음과 같다.
if A in B : B안에 A가 있으면 참(true)이다.
if A not in B : B안에 A가 없다면 참(true)이다.
B에는 리스트, 튜플, 문자열을 사용할 수 있다. (중요)
리스트 = [1,2,3,4,5] if 9 not in 리스트: print('9가 없다') else: print('9가 있다') #### 출력 #### 9가 없다 문자열 = 'hello world' if 'a' not in 문자열: print('a가 문자열안에 없다') if 'e' in 문자열: print('e가 문자열안에 있다') #### 출력 #### a가 문자열안에 없다 e가 문자열안에 있다
for문과 if ~ not in을 같이 사용하면 리스트에서 특정 요소의 포함여부를 확인할 수 있다.
필터링의 기능으로 많이 사용한다.
(1) 리스트에서 특정문자열(kim)이 포함되어있지 않는 요소를 출력
df_list= ['kim_a', 'kim_b', 'kim_c', 'kim_k', 'seo_a', 'seo_b', 'seo_c', 'seo_s'] for col in df_list: if 'kim' not in col: print(col) #### 실행 #### seo_a seo_b seo_c seo_s
(2) 리스트에서 특정요소(kim_a, seo_a)를 제외한 요소를 출력
df_list= ['kim_a', 'kim_b', 'kim_c', 'seo_a', 'seo_b', 'seo_c'] unselect_list= ['kim_a', 'seo_a'] for col in df_list: if col not in unselect_list: print(col) #### 실행 #### kim_b kim_c seo_b seo_c
(3) 리스트에서 특정요소를 제외한 요소를 출력, 포함의 개념이 아니라 동일의 개념으로 필터링한다.
df_list= ['a','b','fecha_dato', 'fecha_dato_1','sexo', '1_sexo', 'se3xo'] unselect_list= ['fecha_dato', 'sexo'] for col in df_list: if col not in unselect_list: print(col) #### 실행 #### a b fecha_dato_1 1_sexo se3xo
(4) 리스트에서 특정문자열이 포함되어있지 않는 요소를 출력, 특정문자열이 '포함'된 요소를 제외시킨다.
df_list= ['a','b','fecha_dato', 'fecha_dato_1','fech2a_dato_1','sexo', '1_sexo', 'se3xo'] for col in df_list: if 'se' not in col: print(col) #### 출력 #### a b fecha_dato fecha_dato_1 fech2a_dato_1
(5) 데이터분석에서 특정 특성들(feature)에 대해 제외시킨 후 전처리를 하거나 머신러닝을 실행할때 사용한다.
그냥 리스트를 만들어 직접 특성들을 썼다 지웠다 할 수 있지만 테이블에 컬럼이 매우 많을 경우에는 이런 방법이 유용하다.
features=[] # 제외할 컬럼 exclude_cols = ['future','open'] for col in stock_df1.columns: if col not in exclude_cols: features.append(col) #'future'와 'open' 컬럼을 제외한 컬럼리스트를 만든다. # we scaled input data using min max scaler, 전처리 스케일링 from sklearn import preprocessing from sklearn.preprocessing import StandardScaler scaler = {} for col in features: scaler[col] = StandardScaler() stock_df1[col] = scaler[col].fit_transform(stock_df1[col].values.reshape(-1,1))
마침.
'python' 카테고리의 다른 글
파이썬 conda 및 pip 명령어 (1) 2020.12.20 파이썬 판다스(pandas) 요약 정리 (1) 2020.12.19 파이썬 판다스(pandas) 데이터 처리 속도 비교 (2) 2020.12.19 파이썬 코드 스타일 (0) 2020.12.19 파이썬 Naming Rule (0) 2020.12.19