2015-08-07 2 views
0

donc je remplis les données de 2 fichiers différents. Bien que ces deux fichiers aient la même structure (les valeurs doivent être différentes), les données résultantes sont différentes. Alors, quand je reçois leur impression:Comment supprimer la ligne laide dans pandas.dataframe

   a    b    c  d 
0  70402.14 70370.602112  0.533332  98 
1  31362.21 31085.682726  1.912552  301  
...   ...   ...   ...  ... 
753919 64527.16 64510.008206  0.255541  71 
753920 58077.61 58030.943621  0.835758  152 

       a    b    c  d 
index 
0  118535.32 118480.657338  0.280282  47 
1  49536.10 49372.999416  0.429902  86 
...   ...   ...   ...  ... 
753970 52112.95 52104.717927  0.356051  116 
753971 37044.40 36915.264944  0.597472  165 

Ainsi, dans la deuxième trame de données, il est que « index » ligne qui ne marche pas de sens pour moi et il provoque des troubles dans mon code suivant. Je n'ai ni écrit le code pour remplir les fichiers dans les données, ni créé ces fichiers. Donc, je suis plutôt intéressé à vérifier si une telle ligne existe et comment je pourrais être en mesure de l'enlever. Est-ce que quelqu'un a une idée à ce sujet?

+3

Etes-vous sûr que ce n'est pas seulement la façon dont la df est imprimée, c'est donc tronquer la sortie? – EdChum

Répondre

2

La deuxième trame de données a un niveau d'index nommé "index". Vous pouvez supprimer le nom avec

df.index.name = None 

Par exemple,

In [126]: df = pd.DataFrame(np.arange(15).reshape(5,3))  

In [128]: df.index.name = 'index' 

In [129]: df 
Out[129]: 
     0 1 2 
index    
0  0 1 2 
1  3 4 5 
2  6 7 8 
3  9 10 11 
4  12 13 14 

In [130]: df.index.name = None 

In [131]: df 
Out[131]: 
    0 1 2 
0 0 1 2 
1 3 4 5 
2 6 7 8 
3 9 10 11 
4 12 13 14 

"indice" dataframe aurait ramassé le nom si vous avez utilisé reset_index et set_index comme ceci:

In [138]: df.reset_index() 
Out[138]: 
    index 0 1 2 
0  0 0 1 2 
1  1 3 4 5 
2  2 6 7 8 
3  3 9 10 11 
4  4 12 13 14 

In [140]: df.reset_index().set_index('index') 
Out[140]: 
     0 1 2 
index    
0  0 1 2 
1  3 4 5 
2  6 7 8 
3  9 10 11 
4  12 13 14 
0

L'index est juste la première colonne - il numérote les lignes par défaut, mais vous pouvez le changer de plusieurs façons (par ex. le remplir avec les valeurs de l'une des colonnes)