Як видалити стовпець індексу в pandas (з прикладами)
Іноді вам може знадобитися видалити стовпець індексу з pandas DataFrame у Python.
Оскільки pandas DataFrames і Series завжди мають індекс, ви не можете фактично видалити індекс, але ви можете скинути його за допомогою наступного фрагмента коду:
df. reset_index (drop= True , place= True )
Наприклад, припустімо, що ми маємо такий пандас 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)
Бонус: видалити індекс під час імпорту та експорту
Часто вам може знадобитися скинути індекс pandas DataFrame після прочитання його з файлу CSV. Ви можете швидко скинути індекс під час його імпорту за допомогою наступного фрагмента коду:
df = pd. read_csv ('data.csv', index_col= False )
І ви можете переконатися, що стовпець індексу не записується у файл CSV під час експорту, використовуючи такий фрагмент коду:
df. to_csv ('data.csv', index= False )
Додаткові ресурси
Як встановити стовпець як індекс у Pandas
Як видалити рядки зі значеннями NaN в Pandas
Як сортувати значення в Pandas DataFrame