koos808

내가 자주 쓰는 Python Pandas 함수 - Part2 본문

Python

내가 자주 쓰는 Python Pandas 함수 - Part2

koos808 2020. 11. 28. 17:46
728x90
반응형
  • Pandas의 replace() 함수

      * 특정 값을 바꿀 때 사용한다. ffill 메서드를 이용하면 특정 값을 이전의 값으로 변경하고, bfill 메서드를 이용하면 특정 값을 이후의 값으로 값으로 변경할 때 사용한다.
      ```
      series=[1,3,0,5,7] 일 때,
      series.replace(to_replace=0, method='ffill') => 결과 : [1,3,3,5,7]
      series.replace(to_replace=0, method='bfill') => 결과 : [1,3,5,5,7]
      ```
    • 열 추가 하기

      • pandas에서 열 추가하는 방법은 4가지 정도가 있음.

      • (참고 : https://www.delftstack.com/ko/howto/python-pandas/how-to-add-new-column-to-existing-dataframe-in-python-pandas/)

        • Pandas에 새로운 열을 추가하는 []연산자 메소드
        • Pandas에 새 열을 추가하는 df.insert() 메소드
        • Pandas에 새로운 열을 추가하는 df.assign() 메소드
        • Pandas에 새로운 열을 추가하는 df.loc() 메소드
      • Example Data

        import pandas as pd
        data = [ ['Ali', 'Azmat','30'], ['Sharukh', 'Khan', '40'], ['Linus', 'Torvalds', '70'] ]
        df = pd.DataFrame(data,columns=['First','Last','Age']) 
      • 1) Pandas에 새로운 열을 추가하는 []연산자 메소드

        city = ['Lahore','Dehli','New York']
        df['city'] = city
        print(df)
      • 2) Pandas에 새 열을 추가하는 df.insert() 메소드

        • 특정 인덱스에 새 열을 추가하려면df.insert()함수를 사용할 수 있습니다. df.insert() 함수의 첫 번째 매개 변수는 0부터 시작하는 삽입 색인입니다.
          df.insert(3,"city",['Lahore','Dehli','New York'],True)
          print(df)   
      • 3) Pandas에 새로운 열을 추가하는 df.assign() 메소드

        # 한 열을 추가할 경우
        df = df.assign(city = ['Lahore','Dehli','New York'])
        print(df)
        
        # 여러 열을 추가할 경우
        df = df.assign(city = ['Lahore','Dehli','New York'], 
               score = [20,30,40])
        print(df)
      • 4) Pandas에 새로운 열을 추가하는 df.loc() 메소드

        df.loc[:,'city'] = ['Lahore','Dehli','New York']
        print(df)
      • 새로운 열 하나의 값으로 추가 하려면?

        • ex) df['new_col'] = 100
      • 기존 열을 이용해서 여러개 열 한번에 추가할 경우

        • ex)

            # 'DATE' 열을 가져와서 연도, 월, 일로 분리하고, 이들을 각각 'YEAR', 'MONTH', 'DAY' 열로 추가.
            df_new = df.assign(YEAR=lambda x: x['DATE'].str[0:4],
                                    MONTH=lambda x: x['DATE'].str[4:6],
                                    DAY=lambda x: x['DATE'].str[6:])
          
    • 열 최대값 최소값, 중간값 등 한번에 기술적 요약 보기(R에서의 summary)

      • df.describe()
    • 특정 집합, 요소에 해당(포함)하는 데이터만 추출

      • all_data[all_data.image_id.isin(train_idx)] : all_data 데이터에서 image_id 열 중에 train_idx 리스트에 포함된 요소만 추출.
    • data.frame(데이터 프레임)에서 조건에 해당하는 행만 추출

      • df에서 image_id가 P_002893.jpg인 행만 추출 : df[df['image_id']=='P_002893.jpg']

 


 

728x90
반응형
Comments