Pandas에서 인덱스 열을 제거하는 방법(예제 포함)


때로는 Python의 pandas DataFrame에서 인덱스 열을 제거해야 할 수도 있습니다.

pandas DataFrames 및 Series에는 항상 인덱스가 있으므로 실제로 인덱스를 삭제할 수는 없지만 다음 코드를 사용하여 인덱스를 재설정할 수 있습니다.

 df. reset_index (drop= True , place= True )

예를 들어 문자 인덱스가 있는 다음과 같은 pandas DataFrame이 있다고 가정합니다.

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29],
                   'assists': [5, 7, 7, 9, 12, 9, 9, 4],
                   'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#set index of DataFrame to be random letters
df = df. set_index ([pd. Index (['a', 'b', 'd', 'g', 'h', 'm', 'n', 'z'])])

#display DataFrame
df

        points assists rebounds
a 25 5 11
b 12 7 8
d 15 7 10
g 14 9 6
h 19 12 6
m 23 9 5
n 25 9 9
z 29 4 12

Reset_index() 함수를 사용하여 인덱스를 재설정하여 숫자의 순차적 목록이 되도록 할 수 있습니다.

 #reset indexes
df. reset_index (drop= True , place= True )

#display DataFrame
df

        points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6
5 23 9 5
6 25 9 9
7 29 4 12

이제 인덱스는 0부터 7까지의 숫자 목록입니다.

앞서 언급했듯이 인덱스는 실제로 열이 아닙니다. 따라서 Shape 명령을 사용하면 DataFrame에 8개의 행과 3개의 열(4개 열 대신)이 있음을 알 수 있습니다.

 #find number of rows and columns in DataFrame
df. shape

(8, 3)

보너스: 가져오기 및 내보내기 시 색인 제거

CSV 파일에서 Pandas DataFrame을 읽은 후 Pandas DataFrame의 인덱스를 재설정하려는 경우가 종종 있습니다. 다음 코드를 사용하여 색인을 가져올 색인을 빠르게 재설정할 수 있습니다.

 df = pd. read_csv ('data.csv', index_col= False )

그리고 다음 코드를 사용하면 내보내기 중에 인덱스 열이 CSV 파일에 기록되지 않도록 할 수 있습니다.

 df. to_csv ('data.csv', index= False )

추가 리소스

Pandas에서 열을 인덱스로 설정하는 방법
Pandas에서 NaN 값이 있는 행을 삭제하는 방법
Pandas DataFrame에서 값을 정렬하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다