在pandas中删除数据框架的前三行

我需要在pandas中删除数据框架的前三行。

我知道df.ix[:-1]将删除最后一行,但我不知道如何删除前n行。

439401 次浏览

使用iloc:

df = df.iloc[3:]

会给你一个没有前三行的新df。

您可以使用python切片,但注意它不是在适当的位置。

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

我认为更明确的方法是使用drop。

语法为:

df.drop(label)

正如@tim和@ChaimG所指出的,这可以就地完成:

df.drop(label, inplace=True)

实现它的一种方法是:

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

还有一个“in place”的用法:

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

N删除前N行。

df.drop(df.index[[0,2]])

Pandas使用以零为基础的编号,所以0是第一行,1是第二行,2是第三行。

一种简单的方法是使用tail(-n)删除前n行

df=df.tail(-3)

inp0 = pd.read_csv(“bank_marketing_updated_v1.csv skiprows = 2)

或者如果你想在已有的数据框架中做

只需执行以下命令

有一个简单的方法可以通过<强> < / >强下降命令来实现。

df = df.drop(3)