Pandas DataFrame DataFrame.set_index() Fonction
-
Syntaxe de la méthode
pandas.DataFrame.set_index()
: -
Exemples de codes: définir l’index Pandas DataFrame avec la méthode Pandas
DataFrame.set_index()
-
Exemples de codes: définissez
drop = False
dans la méthode PandasDataFrame.set_index()
-
Exemples de codes: définissez
inplace = True
dans la méthode PandasDataFrame.set_index
-
Exemples de codes: définir plusieurs colonnes d’index à l’aide de la méthode Pandas
DataFrame.set_index()
-
Exemples de codes: comportement de Pandas
Dataframe.set_index()
lorsqueverify_integrity
vautTrue
La méthode pandas.DataFrame.set_index()
peut être utilisée pour définir des tableaux ou des colonnes de longueur appropriée comme index de DataFrame même après la création de DataFrame. L’index nouvellement défini peut remplacer l’index existant ou peut également être développé sur l’index existant.
Syntaxe de la méthode pandas.DataFrame.set_index()
:
DataFrame.set_index(
keys, drop=True, append=False, inplace=False, verify_integrity=False
)
Paramètres
keys |
colonne ou liste de colonnes à définir comme index |
drop |
Booléen. La valeur par défaut est True qui supprime la colonne à définir comme index |
append |
Booléen. La valeur par défaut est False et elle spécifie s’il faut ajouter des colonnes à l’index existant. |
inplace |
Booléen. Si True , modifiez l’appelant DataFrame sur place |
verify_integrity |
Booléen. Si True , augmentez ValueError lors de la création d’un index avec des doublons. La valeur par défaut est False . |
Revenir
Si inplace
vaut True
, il retourne un objet DataFrame
avec une colonne d’index modifiée; sinon None
.
Exemples de codes: définir l’index Pandas DataFrame avec la méthode Pandas DataFrame.set_index()
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)
Production:
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
Le dataframe
d’origine a la plage de nombres comme colonne d’index par défaut, et dans modified_df
, nous définissons la colonne Name
comme index en utilisant la méthode set_index()
.
Exemples de codes: définissez drop = False
dans la méthode Pandas DataFrame.set_index()
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)
Production:
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
Si nous définissons drop = False
dans la méthode dataframe set_index
, la colonne Name
reste toujours en tant que colonne dans le dataframe
même après avoir été définie comme colonne index
.
Exemples de codes: définissez inplace = True
dans la méthode Pandas DataFrame.set_index
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)
Production:
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
Si nous définissons inplace = True
dans la méthode set_index()
, l’appelant DataFrame
est modifié sur place.
Exemples de codes: définir plusieurs colonnes d’index à l’aide de la méthode Pandas DataFrame.set_index()
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)
Production:
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
Si nous définissons append = True
dans la méthode set_index
, il ajoute la colonne d’index nouvellement définie à l’index existant et possède plusieurs colonnes d’index pour le seul DataFrame.
Exemples de codes: comportement de Pandas Dataframe.set_index()
lorsque verify_integrity
vaut True
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)
Production:
Traceback (most recent call last):
.....line 3920, in set_index
dup=duplicates))
ValueError: Index has duplicate keys: Index(['Apple'], dtype='object', name='Name')
Il déclenche ValueError
car l’index a des clés en double - Apple
. Il a deux Apple
dans la colonne qui est définie comme étant l’index; par conséquent, il déclenche une erreur si verify_integrity
est réglé sur True
dans la méthode set_index()
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn