web-dev-qa-db-fra.com

Comment supprimer l'index d'un Dataframe créé en Python?

J'ai créé un Dataframe df en fusionnant 2 listes à l'aide de la commande suivante: 

import pandas as pd
df=pd.DataFrame({'Name' : list1,'Probability' : list2})

Mais j'aimerais supprimer la première colonne (La colonne d'index) et faire de la colonne nommée Name la première colonne. J'ai essayé d'utiliser del df['index'] et index_col=0. Mais ils n'ont pas travaillé. J'ai également vérifié reset_index() et ce n'est pas ce dont j'ai besoin. Je voudrais supprimer complètement la colonne d'index entière d'un Dataframe qui a été créé comme ceci (comme mentionné ci-dessus). Quelqu'un aide s'il vous plaît!

8
controlfreak

Vous pouvez utiliser set_index , docs :

import pandas as pd

list1 = [1,2]
list2 = [2,5]
df=pd.DataFrame({'Name' : list1,'Probability' : list2})
print (df)
   Name  Probability
0     1            2
1     2            5

df.set_index('Name', inplace=True)
print (df)
      Probability
Name             
1               2
2               5

Si vous avez également besoin de supprimer index name:

df.set_index('Name', inplace=True)
#pandas 0.18.0 and higher
df = df.rename_axis(None)
#pandas bellow 0.18.0
#df.index.name = None
print (df)
   Probability
1            2
2            5
15
jezrael

Si vous souhaitez enregistrer votre dataframe dans une feuille de calcul pour un rapport, il est possible de formater le dataframe pour éliminer la colonne d'index à l'aide de xlsxwriter.

writer = pd.ExcelWriter("Probability" + ".xlsx", engine='xlsxwriter')

df.to_Excel(writer, sheet_name='Probability', startrow=3, startcol=0, index=False)

writer.save()

index = False va alors sauvegarder votre dataframe sans la colonne d'index.

Je l'utilise tout le temps lors de la création de rapports à partir de mes cadres de données.

0
D. Whitt