- 과거 내용
- DataFrame - 축, 레이블
1. 행-열 교환
#원본 데이터
col1 col2
row1 A B
row2 1 2
#행, 열 교환
print(df.swapaxes(axis1=0,axis2=1))
row1 row2
col1 A 1
col2 B 2
swapaxes를 사용해서 행과 열을 교환할 수 있다.
0은 index를, 1은 columns를 의미한다.
2. 레이블명 변경
#원본 데이터
col1 col2
row1 A B
row2 1 2
#레이블명 변경
print(df.rename(index={'row1':'ROW1','row2':'ROW2'}))
col1 col2
ROW1 A B
ROW2 1 2
rename을 이용해서 레이블명을 변경할 수 있다.
index, columns를 동시에 바꿀 수도 있다.
3. 축 이름 변경
#원본 데이터
col1 col2
row1 A B
row2 1 2
#축 이름 변경
print(df.rename_axis(index='TEST2',columns='TEST'))
TEST col1 col2
TEST2
row1 A B
row2 1 2
4. 인덱스 설정
#원본 데이터
col1 col2
row1 A B
row2 1 2
#인덱스 설정
print(df.set_index(keys='col1',append=True))
col2
col1
row1 A B
row2 1 2
set_index를 사용해서 인덱스를 설정할 수 있다.
설정한 keys 값을 입력하고, append를 True로 하면, 원래 인덱스에 추가되고,
False로 하면 설정한 keys 값만 인덱스로 설정된다.
5. 레이블명 변경
#원본 데이터
col1 col2
row1 A B
row2 1 2
#레이블명 변경
print(df.set_axis(labels=['ROW1','ROW2'],axis=0))
col1 col2
ROW1 A B
ROW2 1 2
set_axis를 사용해서 레이블명을 변경할 수 있다.
labels에 설정한 레이블명을 입력하고 axis에서 행과 열 중 선택을 하면 된다.
6. 접미사, 접두사
#원본 데이터
col1 col2
row1 A B
row2 1 2
#접미사, 접두사
print(df.add_suffix('_TEST'))
print(df.add_prefix('TEST_'))
col1_TEST col2_TEST
row1 A B
row2 1 2
TEST_col1 TEST_col2
row1 A B
row2 1 2
suffix를 사용하면 뒤에 붙고, prefix를 사용하면 앞에 붙는다.
이런 식으로 열 이름을 추가할 수 있다.
7. 인덱스 변경
#원본 데이터
col1 col2
row1 A B
row2 1 2
#인덱스 변경
print(df.reindex(columns=['col1','col2','idx'],method='ffill'))
col1 col2 idx
row1 A B B
row2 1 2 2
reindex를 통해 인덱스를 변경할 수 있다. columns에 값을 입력하고
만약 그 전 인덱스와 겹치면 그 값이 그대로 따라오지만, 새로운 인덱스라면
기본적으로 NaN값을 가지게 된다. 이를 method를 통해서 채우거나,
fill_value를 통해서 채울 수 있다.
8. 인덱스 변경
#원본 데이터
col1 col2
row1 A B
row2 1 2
col1 col2
row0 a b
row2 10 20
#인덱스 변경
print(df.reindex_like(other=df2,method='bfill'))
col1 col2
row0 A B
row2 1 2
reindex_like를 통해서 다른 데이터프레임의 인덱스로 변경할 수 있다.
겹치지 않는 부분의 경우는 NaN 값이 들어간다. 그렇기에
method를 활용해서 그 값을 채워넣어줄 수 있다.
9. 인덱스 초기화
#원본 데이터
col1 col2
row1 A B
row2 1 2
#인덱스 초기화
print(df.reset_index(drop=True))
col1 col2
0 A B
1 1 2
reset_index를 통해서 index를 초기화할 수 있다.
drop 옵션을 True로 한 경우 원래 인덱스까지 삭제시킨다.
inplace를 True인 경우 원본까지 바뀌게 된다.
'프로그래밍 > 파이썬' 카테고리의 다른 글
EDA - 1단계 : 데이터 다루기 - 통계(2) (2) | 2023.07.19 |
---|---|
EDA - 1단계 : 데이터 다루기 - 통계 (2) | 2023.07.18 |
EDA - 1단계 : 데이터 다루기 - 확인 (1) | 2023.07.16 |
EDA - 1단계 : 데이터 다루기 - 정보 (1) | 2023.07.15 |
EDA - 1단계 : 데이터 다루기 - 가공 (2) | 2023.07.13 |