it-swarm.com.de

Löschen Sie die ersten drei Zeilen eines Datenrahmens in pandas

Ich muss die ersten drei Zeilen eines Datenrahmens in Pandas löschen.

Ich weiß df.ix[:-1] würde die letzte Zeile entfernen, aber ich kann nicht herausfinden, wie die ersten n Zeilen entfernt werden.

130

Verwenden Sie iloc :

df = df.iloc[3:]

gibt dir einen neuen df ohne die ersten drei reihen.

181
bdiamante

Ich denke, ein expliziterer Weg, dies zu tun, ist die Verwendung von drop.

Die Syntax lautet:

df.drop(label)

Und wie von @tim und @ChaimG hervorgehoben, kann dies vor Ort erfolgen:

df.drop(label, inplace=True)

Ein Weg, dies umzusetzen, könnte sein:

df.drop(df.index[:3], inplace=True)

Und noch eine "in place" -Verwendung:

df.drop(df.head(3).index, inplace=True)
92
drexiya
df = df.iloc[n:]

n löscht die ersten n Zeilen.

7
176coding
df.drop(df.index[[0,2]])

Pandas verwendet eine auf Null basierende Nummerierung, also ist 0 die erste Zeile, 1 die zweite Zeile und 2 die dritte Zeile.

4
Anupam khare

Sie können python slicing verwenden, beachten Sie jedoch, dass es nicht vorhanden ist.

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
beardc

Eine einfache Möglichkeit besteht darin, die ersten n Zeilen mit tail (-n) zu entfernen

df=df.tail(-3)

3
mxia