Pandas 데이터프레임의 인덱스를 열로 변환하는 방법
set_index() 함수 사용:
- 설명:
set_index()
함수는 기존 인덱스를 제거하고 특정 열을 새로운 인덱스로 설정합니다. - 사용 방법:
import pandas as pd # 데이터프레임 생성 df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) # 'B' 열을 인덱스로 설정 df = df.set_index('B') # 결과 출력 print(df)
- 설명:
reset_index()
함수는 기존 인덱스를 새로운 열로 변환하고 데이터프레임에 추가합니다.
주의 사항:
set_index()
함수를 사용하면 기존 인덱스가 손실됩니다.- 여러 열을 인덱스로 설정하려면
set_index()
함수에levels
키워드를 사용할 수 있습니다. reset_index()
함수는 기본적으로 새로운 열 이름을 'level'로 설정합니다. 원하는 이름으로 변경하려면name
키워드를 사용하십시오.
추가 자료
예제 코드: 다양한 데이터 유형을 사용한 인덱스 변환
문자열 인덱스:
import pandas as pd
# 데이터프레임 생성
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['사과', '바나나', '포도'], 'C': [7, 8, 9]})
# 'B' 열을 문자열 인덱스로 설정
df = df.set_index('B')
# 결과 출력
print(df)
날짜 시간 인덱스:
import pandas as pd
# 데이터 생성
dates = pd.to_datetime(['2020-01-01', '2020-02-01', '2020-03-01'])
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}, index=dates)
# 인덱스를 열로 변환
df = df.reset_index()
# 결과 출력
print(df)
다중 인덱스:
import pandas as pd
# 데이터 생성
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]},
index=['행1', '행2', '행3'],
columns=['열1', '열2', '열3'])
# '행' 인덱스를 열로 변환
df = df.reset_index()
# 결과 출력
print(df)
주의:
- 이 코드는 예시이며, 실제 데이터에 맞게 조정해야 합니다.
- 데이터 유형에 따라 적절한 함수를 사용해야 합니다.
- 인덱스 변환 후 데이터프레임 구조가 변경될 수 있으므로 주의해야 합니다.
더 궁금한 점 있으신가요?
Pandas 데이터프레임 인덱스를 열로 변환하는 대체 방법
stack() 함수 사용:
- 설명:
stack()
함수는 다차원 데이터프레임을 단일 차원으로 변환하며, 인덱스를 열로 변환하는 데 사용할 수 있습니다.
- 설명:
unstack()
함수는stack()
함수의 반대 기능을 수행하며, 단일 차원 데이터프레임을 다차원으로 변환합니다. 하지만 인덱스를 다시 행으로 변환하는 데 사용할 수도 있습니다.
melt() 함수 사용:
- 설명:
melt()
함수는 다차원 데이터프레임을 '변수' 및 '값' 열로 펼쳐서 새로운 데이터프레임을 만듭니다. 이를 통해 인덱스를 열로 변환하는 데 사용할 수 있습니다.
- 각 방법마다 출력 형식이 다를 수 있으므로 데이터 분석 목적에 맞게 선택해야 합니다.
stack()
및unstack()
함수는 다차원 데이터프레임에만 사용할 수 있습니다.melt()
함수는 데이터프레임 구조를 크게 변경할 수 있으므로 주의해서 사용해야 합니다.
결론
Pandas 데이터프레임에서 인덱스를 열로 변환하는 방법은 여러 가지가 있습니다. 상황에 따라 가장 적합한 방법을 선택하는 것이 중요합니다.
- 기존 인덱스를 제거하고 특정 열을 새 인덱스로 설정하려면
set_index()
함수를 사용하십시오. - 기존 인덱스를 새 열로 변환하고 데이터프레임에 추가하려면
reset_index()
함수를 사용하십시오. - 다차원 데이터프레임에서 인덱스를 열로 변환하려면
stack()
또는unstack()
함수를 사용하십시오. - 인덱스를 열로 변환하고 데이터프레임 구조를 변경하려면
melt()
함수를 사용하십시오.
python pandas dataframe