Pandas(1)

1 minute read

Pandas 기초

  1. 시리즈
  • 일차원 레이블 배열과 같은 구조, pandas.Series(딕셔너리)

      dict_data = {'a': 1, 'b': 2, 'c': 3}
    
      sr = pd.Series(dict_data)
    
    
  • 인덱스 설정하기

      tup_data = ('영인', '2010-05-01', '여', True)
      sr = pd.Series(tup_data, index=['이름', '생년월일', '성별', '학생여부'])
        
    
    
  1. 데이터 프레임
  • 2차원 배열

     dict_data = {'c0':[1,2,3], 'c1':[4,5,6], 'c2':[7,8,9], 'c3':[10,11,12], 'c4':[13,14,15]}
     df = pd.DataFrame(dict_data)
            
    

    -> c0~c4 까지 열으로 들어감

  • 행 인덱스/ 열 이름 지정

       df = pd.DataFrame([[15, '남', '덕영중'], [17,'여', '수리중']], 
       index=['준서', '예은’],
       columns=['나이', '성별', '학교'])
    
  • 행/열 이름 변경(rename() 메소드)
      df.rename(columns={'나이':'연령', '성별':'남녀', '학교':'소속'}, inplace=True)
      # df의 행 인덱스 중에서, '준서'를 '학생1'로, '예은'을 '학생2'로 바꾸기
      df.rename(index={'준서':'학생1', '예은':'학생2' }, inplace=True)
    

    -> inplace는 적용할지 안할지 결정하는 변수 True면 적용

  • 행/열 삭제 행 삭제 : DataFrame 객체.drop(행 인덱스 또는 배열, axis=0) 열 삭제 : DataFrame 객체.drop(열 이름 또는 배열, axis=1)

  • 행 선택 loc(행 이름)과 iloc(행 인덱스 번호) 사용
    label1 = df.loc['서준'] # loc 인덱서 활용
    position1 = df.iloc[0] # iloc 인덱서 활용
    
  • 열추가
      # 데이터프레임 df에 '국어' 점수 열(column)을 추가.  
    df['국어'] = 80
      
    
  • 행추가
      # 새로운 행(row)을 추가 - 같은 원소 값을 입력
      df.loc[3] = 0
      print(df)
      print('\n')
      # 새로운 행(row)을 추가 - 원소 값 여러 개의 배열 입력
      df.loc[4] = ['동규', 90, 80, 70, 60]
      print(df)
      print('\n')
      # 새로운 행(row)을 추가 - 기존 행을 복사
      df.loc['행5'] = df.loc[3]
      print(df)
      
    
  • 원소값 변경

      # 데이터프레임 df의 특정 원소를 변경하는 방법
      df.iloc[0][3] = 80
    
      df.loc['서준']['체육'] = 90
    
      df.loc['서준', '체육'] = 100
    
      # 데이터프레임 df의 원소 여러 개를 변경하는 방법
      df.loc['서준', ['음악', '체육']] = 50
    
      
    
  • 행/열의 위치 바꾸기 df= df.T -> 뒤에 .T 붙이기

  • 특정 열 인덱스 정하기

      ndf = df.set_index(['이름'])
    
    

Tags:

Categories:

Updated:

Leave a comment