ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬 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

    댓글

Designed by Tistory.