Python Library/Pandas

[Pandas - Python] Renaming Axis Indexes - rename() (축의 인덱스 이름 변경)

바보1 2022. 6. 13. 23:59

Renaming Axis Indexes - rename()

 

이번에는 축의 인덱스 이름을 변경해보겠습니다.

data = pd.DataFrame(np.arange(12).reshape((3, 4)),
                    index=['Ohio', 'Colorado', 'New York'],
                    columns=['one', 'two', 'three', 'four'])

data

		one	two	three	four
Ohio		0	1	2	3
Colorado	4	5	6	7
New York	8	9	10	11
transform = lambda x: x[:4].upper()
data.index.map(transform)

Index(['OHIO', 'COLO', 'NEW '], dtype='object')

index의 4번째 글자까지 대문자로 변경했습니다.

 

data.index = data.index.map(transform)
data

	one	two	three	four
OHIO	0	1	2	3
COLO	4	5	6	7
NEW	8	9	10	11

이렇게 data의 index를 변경했습니다.

 

data.rename(index=str.title, columns=str.upper)


	ONE	TWO	THREE	FOUR
Ohio	0	1	2	3
Colo	4	5	6	7
New	8	9	10	11

rename 함수를 이용하여 index를 앞문자만 대문자로 만들었고,

column 글자는 모두 대문자로 변경했습니다.

 

data.rename(index={'OHIO': 'INDIANA'},
            columns={'three': 'peekaboo'})
            
            
		one	two	peekaboo	four
INDIANA		0	1	2	3
COLO		4	5	6	7
NEW		8	9	10	11

딕셔너리를 이용하여 이름을 변경할 수도 있습니다.

 

물론 이때도 inplace를 사용하면 즉시 변경됩니다.

만약 위의 코드를 그대로 이용하면서 다시 data를 출력하면 어떻게 될까요?

data.rename(index={'OHIO': 'INDIANA'},
            columns={'three': 'peekaboo'})
data

	one	two	three	four
OHIO	0	1	2	3
COLO	4	5	6	7
NEW	8	9	10	11

값이 아무것도 변경되지 않았습니다.