Pandas 데이터프레임에서 인덱스 열 제목 또는 이름 가져오기 및 설정하기
다음은 Pandas에서 인덱스 열 제목 또는 이름을 가져오고 설정하는 방법에 대한 두 가지 방법입니다.
index.name 속성 사용하기
index.name
속성을 사용하면 현재 인덱스의 이름을 가져오거나 설정할 수 있습니다.
import pandas as pd
# 데이터프레임 만들기
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 현재 인덱스 이름 출력
print(df.index.name) # 출력: None
# 인덱스 이름 설정
df.index.name = '고객 ID'
# 변경된 인덱스 이름 출력
print(df.index.name) # 출력: 고객 ID
rename 메서드 사용하기
rename
메서드를 사용하여 인덱스 이름을 along with other DataFrame attributes.
import pandas as pd
# 데이터프레임 만들기
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 인덱스 이름 변경
df.rename(index={'고객 ID': df.index}, inplace=True)
# 변경된 인덱스 이름 출력
print(df.index.name) # 출력: 고객 ID
참고:
inplace=True
매개 변수를 사용하면 원본 데이터프레임이 변경됩니다. 새 데이터프레임을 만들려면 생략하세요.- 인덱스를 열로 변환하려면
set_index
메서드를 사용하세요.
추가 정보
예제 코드: Pandas 데이터프레임에서 인덱스 열 제목 또는 이름 설정하기
예제 1: index.name
속성 사용하기
import pandas as pd
# 데이터프레임 만들기
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 현재 인덱스 이름 출력
print(df.index.name) # 출력: None
# 인덱스 이름 설정
df.index.name = '고객 ID'
# 변경된 인덱스 이름 출력
print(df.index.name) # 출력: 고객 ID
예제 2: rename
메서드 사용하기
import pandas as pd
# 데이터프레임 만들기
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 인덱스 이름 변경
df.rename(index={'고객 ID': df.index}, inplace=True)
# 변경된 인덱스 이름 출력
print(df.index.name) # 출력: 고객 ID
설명:
- 두 예제 모두
import pandas as pd
를 사용하여 Pandas 라이브러리를 가져옵니다. df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
코드는 'A', 'B', 'C'라는 세 열을 가진 데이터프레임을 만듭니다.print(df.index.name)
코드는 현재 인덱스 이름을 출력합니다. 기본적으로 인덱스에는 이름이 없으므로None
으로 표시됩니다.df.index.name = '고객 ID'
코드는 인덱스 이름을 '고객 ID'로 설정합니다.df.rename(index={'고객 ID': df.index}, inplace=True)
코드는rename
메서드를 사용하여 인덱스 이름을 '고객 ID'로 변경합니다.inplace=True
매개 변수는 원본 데이터프레임이 변경되도록 합니다.- 마지막
print(df.index.name)
코드는 변경된 인덱스 이름을 다시 출력합니다. 이제 '고객 ID'로 표시되어야 합니다.
이 예제 코드는 Pandas 데이터프레임에서 인덱스 열 제목 또는 이름을 설정하는 두 가지 방법을 보여줍니다. 사용자의 특정 상황에 따라 적합한 방법을 선택할 수 있습니다.
추가 예제
다음은 인덱스를 열로 변환하는 방법을 보여주는 추가 예제입니다.
import pandas as pd
# 데이터프레임 만들기
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 인덱스를 열로 변환하고 이름 설정
df.set_index('고객 ID', inplace=True)
# 출력
print(df)
이 코드는 다음과 같은 결과를 출력합니다.
A B C
고객 ID
1 1 4 7
2 2 5 8
3 3 6 9
Pandas 데이터프레임에서 인덱스 열 제목 또는 이름 설정하기: 대체 방법
to_frame 메서드 사용하기:
to_frame
메서드를 사용하여 Series를 데이터프레임으로 변환할 때 인덱스 이름을 지정할 수 있습니다.
import pandas as pd
# Series 만들기
s = pd.Series([1, 2, 3], name='고객 ID')
# 데이터프레임 만들기
df = s.to_frame()
# 인덱스 이름 출력
print(df.index.name) # 출력: 고객 ID
reset_index 메서드 사용하기:
reset_index
메서드를 사용하여 인덱스를 열로 변환하고 동시에 이름을 설정할 수 있습니다.
import pandas as pd
# 데이터프레임 만들기
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 인덱스 열 만들고 이름 설정
df = df.reset_index(name='고객 ID')
# 출력
print(df)
assign 메서드 사용하기:
assign
메서드를 사용하여 새 열을 데이터프레임에 할당하고 해당 열을 인덱스로 설정할 수 있습니다.
import pandas as pd
# 데이터프레임 만들기
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# '고객 ID' 열 만들기
df['고객 ID'] = range(1, 4)
# '고객 ID' 열을 인덱스로 설정
df = df.set_index('고객 ID')
# 출력
print(df)
loc 인덱서 사용하기:
loc
인덱서를 사용하여 특정 인덱스 값에 대한 데이터를 설정하고 해당 인덱스를 이름으로 설정할 수 있습니다.
import pandas as pd
# 데이터프레임 만들기
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# '고객 ID' 열 만들기
df['고객 ID'] = range(1, 4)
# '고객 ID' 열을 인덱스로 설정하고 이름 설정
df.loc[df['고객 ID'], '고객 ID'] = df['고객 ID'].apply(lambda x: f'고객 {x}')
# 출력
print(df)
- 각 방법마다 장단점이 있습니다. 특정 상황에 가장 적합한 방법을 선택하십시오.
rename
메서드와to_frame
메서드는 인덱스 이름만 변경하는 반면,reset_index
메서드와set_index
메서드는 인덱스를 열로 변환합니다.assign
메서드와loc
인덱서는 더 복잡하지만 데이터프레임에 동적으로 인덱스 이름을 설정하는 데 유용할 수 있습니다.
python pandas dataframe