Jak usunąć kolumnę indeksu w pandach (z przykładami)
Czasami możesz chcieć usunąć kolumnę indeksu z ramki DataFrame pandy w Pythonie.
Ponieważ ramki danych i serie pand zawsze mają indeks, w rzeczywistości nie można go usunąć , ale można go zresetować, używając następującego fragmentu kodu:
df. reset_index (drop= True , place= True )
Załóżmy na przykład, że mamy następującą ramkę danych pand z indeksem literowym:
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
Możemy użyć funkcji reset_index() , aby zresetować indeks tak, aby był to sekwencyjna lista liczb:
#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
Zauważ, że indeks jest teraz listą liczb od 0 do 7.
Jak wspomniano wcześniej, indeks nie jest w rzeczywistości kolumną. Kiedy więc użyjemy polecenia kształtu , zobaczymy, że ramka DataFrame ma 8 wierszy i 3 kolumny (zamiast 4 kolumn):
#find number of rows and columns in DataFrame df. shape (8, 3)
Bonus: usuń indeks podczas importowania i eksportowania
Często możesz chcieć zresetować indeks ramki DataFrame pandy po odczytaniu jej z pliku CSV. Możesz szybko zresetować indeks podczas jego importowania, używając następującego fragmentu kodu:
df = pd. read_csv ('data.csv', index_col= False )
Możesz także upewnić się, że kolumna indeksu nie zostanie zapisana w pliku CSV podczas eksportu, używając następującego fragmentu kodu:
df. to_csv ('data.csv', index= False )
Dodatkowe zasoby
Jak ustawić kolumnę jako indeks w Pandach
Jak usunąć wiersze z wartościami NaN w Pandach
Jak sortować wartości w Pandas DataFrame