zenn.skin 무료버전 배포중!
자세히보기

Python/Syntax

[Pandas] DataFrame - 1 (자료형, 생성, 행/열 이름변경, 행/열 삭제)

koosco! 2022. 1. 10. 21:48

1. DataFrame?

- 행과 열로 만들어지는 2차원 배열 구조의 자료형

- 행을 index, 열을 columns, 값을 values로 갖는다

df = pd.DataFrame([[1, 2, 3, 4, 5],
                 [6, 7, 8, 9, 10],
                 [11, 12, 13, 14, 15]],
                 index=list('xyz'),
                 columns=list('ABCDE'))
print('index: ', df.index)
print('columns: ', df.columns, end='\n\n')
print('values: ', df.values, end='\n\n')
print('dtypes: ', df.dtypes)

2. DataFrame의 생성

1) Dictionary를 인자로 받는 경우

- Dictionary의 key는 columns로, Dictionary의 value는 순서대로 열의 인자가 된다

- DataFrame의 index는 별도로 지정하지 않으면 0, 1, 2,...로 채워진다

- index와 columns 파라미터에 리스트로 값을 넣어주면 행과 열이 채워진다

import pandas as pd

df = pd.DataFrame({'a': [1, 2, 3],
                  'b': [4, 5, 6]})
print(df)

df = pd.DataFrame([[1, 2, 3, 4, 5],
                 [6, 7, 8, 9, 10],
                 [11, 12, 13, 14, 15]],
                 index=list('xyz'),
                 columns=list('ABCDE'))
print(df)

2) List/Tuple을 인자로 받는 경우

- 2차원 List/Tuple을 입력받아 DataFrame을 생성한다

- 입력받은 List의 순서대로 행의 인자가 된다

df2 = pd.DataFrame([[0, 1, 2, 3],
                   [4, 5, 6, 7]])
print(df2)

 

3. DataFrame의 행/열 이름 변경

1) df.index, df.columns를 이용한 이름 변경

df.columns = ['c', 'd']
df.index = [list('abc')]
print(df)

2)df.rename() 메서드 사용

- 행을 바꿀 때는 index에 딕셔너리를 전달 ('기존 행 이름': '변경 행 이름')

- 열을 바꿀 때는 columns에 딕셔너리를 전달 ('기존 열 이름': '변경 열 이름')

- 행 또는 열을 지정하지 않고 axis를 통해 행 또는 열을 선택할 수도 있다

    -> axis=0 : 행 선택

    -> axis=1 : 열 선택

- DataFrame의 rename() 메서드는 default로 변경된 DataFrame을 반환한다

- 반환없이 바꾸려면 inplace=True로 설정해 준다

 

① index, columns 사용

df.rename(index={'a': 'A', 'b': 'B', 'c': 'C'}, inplace=True)
df.rename(columns={'c': 'C', 'd': 'D'}, inplace=True)
print(df)

② axis 사용

df.rename({'a': 'A', 'b': 'B', 'c': 'C'}, axis=0 inplace=True)
df.rename({'c': 'C', 'd': 'D'}, axis=1, inplace=True)
print(df)

4. DataFrame의 행/열 삭제

- DataFrame의 drop() 메서드를 입력

- axis를 통해 행 또는 열을 선택할 수도 있다

    -> axis=0 : 행 선택

    -> axis=1 : 열 선택

- 여러 개의 행/열을 삭제할 때는 행/열 이름의 리스트를 전달

- 마찬가지로 반환없이 DataFrame을 바꾸려면 inplace=True로 설정해 준다

 

① 단일 행 또는 열 삭제

df.drop('A', axis=0, inplace=True)
df.drop('C', axis=1, inplace=True)
print(df)

 

② 복수의 열 삭제

df = pd.DataFrame([[1, 2, 3, 4, 5],
                 [6, 7, 8, 9, 10],
                 [11, 12, 13, 14, 15]],
                 index=list('xyz'),
                 columns=list('ABCDE'))
df.drop(['A','B'], axis=1)

 

'Python/Syntax'의 다른글

  • 현재글 [Pandas] DataFrame - 1 (자료형, 생성, 행/열 이름변경, 행/열 삭제)

관련글