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
값이 아무것도 변경되지 않았습니다.