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