Pandas DataFrame DataFrame.set_index() Funktion
-
Syntax der Methode
pandas.DataFrame.set_index()
: -
Beispiel-Codes: Pandas DataFrame-Index setzen mit Pandas
DataFrame.set_index()
Methode -
Beispiel-Codes: Setzen von
drop=False
in PandasDataFrame.set_index()
Methode -
Beispiel-Codes: Setzen von
inplace=True
in PandasDataFrame.set_index
Methode -
Beispiel-Codes: Setzen mehrerer Indexspalten mit Pandas
DataFrame.set_index()
Methode -
Beispiel-Codes: Pandas
Dataframe.set_index()
Verhalten WennVerify_integrity
True
ist
Die Methode pandas.DataFrame.set_index()
kann verwendet werden, um Arrays oder Spalten geeigneter Länge als Index von DataFrame zu setzen, auch nach der Erstellung von DataFrame. Der neu gesetzte Index kann den bestehenden Index ersetzen oder auch auf den bestehenden Index erweitert werden.
Syntax der Methode pandas.DataFrame.set_index()
:
DataFrame.set_index(
keys, drop=True, append=False, inplace=False, verify_integrity=False
)
Parameter:
keys |
Spalte oder Liste von Spalten, die als Index gesetzt werden sollen |
drop |
Boolesch. Der Standardwert ist True , der die Spalte löscht, die als Index gesetzt werden soll. |
append |
Boolesch. Der Standardwert ist False , und er gibt an, ob Spalten an den bestehenden Index angehängt werden sollen. |
inplace |
Boolesch. Wenn True , modifizieren Sie den aufrufenden DataFrame an Ort und Stelle |
Integrität_verifizieren |
Boolesch. Falls True , erhöhen Sie ValueError beim Erstellen eines Index mit Duplikaten. Der Standardwert ist False . |
Geben Sie zurück
Wenn inplace
gleich True
ist, gibt es ein DataFrame
-Objekt mit modifizierter Indexspalte zurück; andernfalls None
.
Beispiel-Codes: Pandas DataFrame-Index setzen mit Pandas DataFrame.set_index()
Methode
import pandas as pd
fruit_list = [ ('Orange', 34, 'Yes' ,'ABC') ,
('Mango', 24, 'No','ABC' ) ,
('banana', 14, 'No','ABC' ) ,
('Apple', 44, 'Yes',"XYZ" ) ]
df = pd.DataFrame(fruit_list,
columns = ['Name',
'Price',
'In_Stock',
'Supplier'])
print(df)
df_modified=df.set_index("Name")
print(df_modified)
Ausgabe:
Name Price In_Stock Supplier
0 Orange 34 Yes ABC
1 Mango 24 No ABC
2 banana 14 No ABC
3 Apple 44 Yes XYZ
4 Pineapple 64 No XYZ
5 Kiwi 84 Yes XYZ
Price In_Stock Supplier
Name
Orange 34 Yes ABC
Mango 24 No ABC
banana 14 No ABC
Apple 44 Yes XYZ
Pineapple 64 No XYZ
Kiwi 84 Yes XYZ
Der originale Dataframe
hat den Zahlenbereich als Standardindex-Spalte, und in modified_df
setzen wir die Spalte Name
mit der Methode set_index()
als Index.
Beispiel-Codes: Setzen von drop=False
in Pandas DataFrame.set_index()
Methode
import pandas as pd
fruit_list = [ ('Orange', 34, 'Yes' ,'ABC') ,
('Mango', 24, 'No','ABC' ) ,
('banana', 14, 'No','ABC' ) ,
('Apple', 44, 'Yes',"XYZ" ) ]
df = pd.DataFrame(fruit_list,
columns = ['Name',
'Price',
'In_Stock',
'Supplier'])
print(df)
df_modified=df.set_index("Name",drop=False)
print(df_modified)
Ausgabe:
Name Price In_Stock Supplier
0 Orange 34 Yes ABC
1 Mango 24 No ABC
2 banana 14 No ABC
3 Apple 44 Yes XYZ
Name Price In_Stock Supplier
Name
Orange Orange 34 Yes ABC
Mango Mango 24 No ABC
banana banana 14 No ABC
Apple Apple 44 Yes XYZ
Wenn wir drop=False
in der Methode set_index
des DataFrame setzen, bleibt die Spalte Name
als Spalte im Dataframe
erhalten, auch nachdem sie als Spalte index
gesetzt wurde.
Beispiel-Codes: Setzen von inplace=True
in Pandas DataFrame.set_index
Methode
import pandas as pd
fruit_list = [ ('Orange', 34, 'Yes' ,'ABC') ,
('Mango', 24, 'No','ABC' ) ,
('banana', 14, 'No','ABC' ) ,
('Apple', 44, 'Yes',"XYZ" ) ]
df = pd.DataFrame(fruit_list, columns = ['Name' , 'Price', 'In_Stock',"Supplier"])
print("Before Setting Index:")
print(df)
df.set_index("Name",inplace=True)
print("After Setting Index:")
print(df)
Ausgabe:
Before Setting Index:
Name Price In_Stock Supplier
0 Orange 34 Yes ABC
1 Mango 24 No ABC
2 banana 14 No ABC
3 Apple 44 Yes XYZ
After Setting Index:
Price In_Stock Supplier
Name
Orange 34 Yes ABC
Mango 24 No ABC
banana 14 No ABC
Apple 44 Yes XYZ
Wenn wir inplace=True
in der Methode set_index()
setzen, wird der Aufrufer dataFrame
an Ort und Stelle modifiziert.
Beispiel-Codes: Setzen mehrerer Indexspalten mit Pandas DataFrame.set_index()
Methode
import pandas as pd
fruit_list = [ ('Orange', 34, 'Yes' ,'ABC') ,
('Mango', 24, 'No','ABC' ) ,
('banana', 14, 'No','ABC' ) ,
('Apple', 44, 'Yes',"XYZ" ) ]
df = pd.DataFrame(fruit_list, columns = ['Name' , 'Price', 'In_Stock',"Supplier"])
print("Before Setting Index:")
print(df)
df.set_index("Name",append=True,inplace=True,drop=False)
print("After Setting Index:")
print(df)
Ausgabe:
Before Setting Index:
Name Price In_Stock Supplier
0 Orange 34 Yes ABC
1 Mango 24 No ABC
2 banana 14 No ABC
3 Apple 44 Yes XYZ
After Setting Index:
Name Price In_Stock Supplier
Name
0 Orange Orange 34 Yes ABC
1 Mango Mango 24 No ABC
2 banana banana 14 No ABC
3 Apple Apple 44 Yes XYZ
Wenn wir append=True
in der set_index
-Methode setzen, hängt sie die neu gesetzte Indexspalte an den bestehenden Index an und hat mehrere Indexspalten für den einzelnen DataFrame
.
Beispiel-Codes: Pandas Dataframe.set_index()
Verhalten Wenn Verify_integrity
True
ist
import pandas as pd
fruit_list = [
("Orange", 34, "Yes", "ABC"),
("Mango", 24, "No", "ABC"),
("Apple", 14, "No", "ABC"),
("Apple", 44, "Yes", "XYZ"),
]
df = pd.DataFrame(fruit_list, columns=["Name", "Price", "In_Stock", "Supplier"])
df_modified = df.set_index("Name", verify_integrity=True)
print(df_modified)
Ausgabe:
Traceback (most recent call last):
.....line 3920, in set_index
dup=duplicates))
ValueError: Index has duplicate keys: Index(['Apple'], dtype='object', name='Name')
Es wird ValueError
ausgegeben, weil der Index doppelte Schlüssel hat - Apple
. Er hat zwei Apple
in der Spalte, die als Index gesetzt ist; daher erzeugt er einen Fehler, wenn verify_integrity
in der Methode set_index()
auf True
gesetzt ist.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn