我需要在pandas中删除数据框架的前三行。
我知道df.ix[:-1]将删除最后一行,但我不知道如何删除前n行。
df.ix[:-1]
使用iloc:
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)