I need to delete the first three rows of a dataframe in pandas.
I know df.ix[:-1]
would remove the last row, but I can\'t figure out how to remove first
You can use python slicing, but note it's not in-place.
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
df = df.iloc[n:]
n drops the first n rows.
df.drop(df.index[[0,2]])
Pandas uses zero based numbering, so 0 is the first row, 1 is the second row and 2 is the third row.
Use iloc:
df = df.iloc[3:]
will give you a new df without the first three rows.
A simple way is to use tail(-n) to remove the first n rows
df=df.tail(-3)
inp0= pd.read_csv("bank_marketing_updated_v1.csv",skiprows=2)
or if you want to do in existing dataframe
simply do following command