Supprimer les trois premières lignes d'un dataframe dans pandas
J'ai besoin de supprimer les trois premières lignes d'un dataframe dans les pandas.
Je sais que df.ix[:-1]
supprimerait la dernière ligne, mais je n'arrive pas à comprendre comment supprimer les N premières lignes.
94
demandé sur
James C.
2013-05-06 14:35:58
5 réponses
Je pense qu'une façon plus explicite de le faire est d'utiliser drop.
La syntaxe est:
df.drop(label)
Et comme indiqué par @ tim et @ChaimG, cela peut être fait sur place:
df.drop(label, inplace=True)
Une façon de mettre en œuvre ceci pourrait être:
df.drop(df.index[:3], inplace=True)
Et une autre utilisation "en place":
df.drop(df.head(3).index, inplace=True)
80
répondu
drexiya
2016-03-08 09:14:59
Vous pouvez utiliser le tranchage python, mais notez qu'il n'est pas en place.
In [15]: import pandas as pd
In [16]: import numpy as np
In [17]: df = pd.DataFrame(np.random.random((5,2)))
In [18]: df
Out[18]:
0 1
0 0.294077 0.229471
1 0.949007 0.790340
2 0.039961 0.720277
3 0.401468 0.803777
4 0.539951 0.763267
In [19]: df[3:]
Out[19]:
0 1
3 0.401468 0.803777
4 0.539951 0.763267
4
répondu
beardc
2013-05-10 17:25:47
df.drop(df.index[[0,2]])
Pandas utilise la numérotation basée sur zéro, donc 0 est la première rangée, 1 est la deuxième rangée et 2 est la troisième rangée.
2
répondu
Anupam khare
2017-07-20 00:33:18