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' 카테고리의 다른 글
[Python] Bitwise 연산자를 이용한 홀/짝 판단 (0) | 2022.03.16 |
---|---|
[Pandas] DataFrame - 2 (행/열 추가, 값 선택/변경, 전치) (1) | 2022.01.10 |
[Python] Pickle (0) | 2021.12.11 |
read_excel로 xlsx 파일 열기 (0) | 2021.11.21 |
[Python] sys.stdin.readline (0) | 2021.07.25 |