Удалите первые три строки фрейма данных в pandas
Мне нужно удалить первые три строки фрейма данных в pandas.
Я знаю df.ix[:-1]
удалить последнюю строку, но я не могу выяснить, как удалить первые n строк.
5 ответов:
использовать
iloc
как вы используетеix
, но применить другой срез...df2 = df1.iloc[3:] #edited since .ix is now deprecated.
даст вам новый df без первых трех строк.
Я думаю, что более явный способ сделать это-использовать 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)
вы можете использовать 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