我需要在pandas中删除一个dataframe的前三行。我知道df.ix[:-1]会删除最后一行,但我不知道如何删除前n行。
df.ix[:-1]
6bc51xsx1#
使用iloc:
iloc
df = df.iloc[3:]
将给予你一个新的df,没有前三行。
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)
wvyml7n53#
df = df.iloc[n:]
n丢弃前n行。
kx5bkwkv4#
一种简单的方法是使用tail(-n)删除前n行df=df.tail(-3)
df=df.tail(-3)
cqoc49vn5#
df.drop(df.index[[0,2]])
Pandas使用基于零的编号,因此0是第一行,1是第二行,2是第三行。
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
7uzetpgm7#
inp0=pd.read_csv(“bank_marketing_updated_v1.csv”,skiprows=2)或者如果你想在现有的 Dataframe 中只需执行以下命令
5fjcxozz8#
truncate
删除前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)
wgeznvg79#
有一种简单的方法可以通过drop命令实现。
df = df.drop(3)
9条答案
按热度按时间6bc51xsx1#
使用
iloc
:将给予你一个新的df,没有前三行。
vuktfyat2#
我认为更明确的方法是使用drop。
语法为:
正如@tim和@ChaimG所指出的,这可以就地完成:
实现这一点的一种方式可以是:
另一个“到位”的用途:
wvyml7n53#
n丢弃前n行。
kx5bkwkv4#
一种简单的方法是使用tail(-n)删除前n行
df=df.tail(-3)
cqoc49vn5#
Pandas使用基于零的编号,因此0是第一行,1是第二行,2是第三行。
qcbq4gxm6#
你可以使用python slicing,但注意它不是就地的。
7uzetpgm7#
inp0=pd.read_csv(“bank_marketing_updated_v1.csv”,skiprows=2)
或者如果你想在现有的 Dataframe 中
只需执行以下命令
5fjcxozz8#
使用
truncate
在pandas中灵活截断删除前N行
删除最后M行
一起删除前N行和后M行
删除前N列
wgeznvg79#
有一种简单的方法可以通过drop命令实现。