在pandas中删除dataframe的前三行

7rtdyuoh  于 2023-04-18  发布在  其他
关注(0)|答案(9)|浏览(247)

我需要在pandas中删除一个dataframe的前三行。
我知道df.ix[:-1]会删除最后一行,但我不知道如何删除前n行。

6bc51xsx

6bc51xsx1#

使用iloc

df = df.iloc[3:]

将给予你一个新的df,没有前三行。

vuktfyat

vuktfyat2#

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

df.drop(label)

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

df.drop(label, inplace=True)

实现这一点的一种方式可以是:

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

另一个“到位”的用途:

df.drop(df.head(3).index, inplace=True)
wvyml7n5

wvyml7n53#

df = df.iloc[n:]

n丢弃前n行。

kx5bkwkv

kx5bkwkv4#

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

cqoc49vn

cqoc49vn5#

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

Pandas使用基于零的编号,因此0是第一行,1是第二行,2是第三行。

qcbq4gxm

qcbq4gxm6#

你可以使用python slicing,但注意它不是就地的。

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
7uzetpgm

7uzetpgm7#

inp0=pd.read_csv(“bank_marketing_updated_v1.csv”,skiprows=2)
或者如果你想在现有的 Dataframe 中
只需执行以下命令

5fjcxozz

5fjcxozz8#

使用truncate在pandas中灵活截断

删除前N行

df.truncate(before=N)

删除最后M行

df.truncate(after=M)

一起删除前N行和后M行

df.truncate(before=N, after=M)

删除前N列

df.truncate(before=N, axis=1)
wgeznvg7

wgeznvg79#

有一种简单的方法可以通过drop命令实现。

df = df.drop(3)

相关问题