본문 바로가기
파이썬/통계분석

[파이썬 강의] 90. 시리즈(Series)의 행 이름 수정

by 만다린망고 2021. 11. 22.
반응형

시리즈를 하나 정의해봅시다. 데이터, 행이름(index), 열이름(name) 순서로 입력합니다. 데이터는 리스트 형태로 입력해줍니다. 

>>> import pandas as pd
>>> s1=pd.Series([1,2,3,4,5],index=['A','B','C','D','E'],name='my data')
>>> s1
A    1
B    2
C    3
D    4
E    5
Name: my data, dtype: int643


행 이름 하나를 수정하려고 시도해봅시다. 

>>> s1.index[0]='AA'
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    s1.index[0]='AA'
  File "C:\Users\Jihun\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\core\indexes\base.py", line 4585, in __setitem__
    raise TypeError("Index does not support mutable operations")
TypeError: Index does not support mutable operations


수정이 불가능합니다. 행 이름을 바꾸기 원하는 경우 아래와 같이 행 이름 전체를 다시 정의해주면 됩니다. 

>>> s1.index=['AA','B','C','D','E']
>>> s1
AA    1
B     2
C     3
D     4
E     5
Name: my data, dtype: int64


또는 rename 메소드를 사용할 수도 있습니다. 행 이름 B 를 BB 로 바꾸고 싶은 경우 아래와 같이 입력하면 됩니다. 

>>> s1=s1.rename({'B':'BB'})
>>> s1
AA    1
BB    2
C     3
D     4
E     5
Name: my data, dtype: int64


여러개를 동시에 바꿀 수도 있습니다. 

>>> s1=s1.rename({'C':'CC','D':'DD'})
>>> s1
AA    1
BB    2
CC    3
DD    4
E     5
Name: my data, dtype: int64
반응형

댓글