Для read_csv / read_html вы можете использовать, например, header=3аргумент конструктора, который установит эту строку в качестве строки заголовка: stackoverflow.com/a/51822697/191246
разве это не удаляет первые 4 строки вместо первых 3 строк в исходном вопросе?
тагома
6
Нет, это не так. Начальная позиция среза всегда включена.
bdiamante
Кто-нибудь случайно знает, как это сделать groupby()? Это работает, но возвращает повторяющиеся столбцы в индексеdf=pd.DataFrame({'v':np.arange(10).tolist()*2,'g':['a']*10+['b']*10});df.groupby('g').apply(lambda x: x.iloc[3:])
citynorman
Так, если вы хотите удалить, например, из строки 3 в строку 9, как бы вы это сделали? df=df.iloc[3:9]?
МК
1
@MK, если вы используете этот подход, вы можете использовать его в сочетании с pd.concat(). Нечто подобное df2 = pd.concat([df.iloc[:3],df.iloc[10:]]).
bdiamante
100
Я думаю, что более явный способ сделать это - использовать drop.
Синтаксис:
df.drop(label)
И как отметили @tim и @ChaimG, это можно сделать на месте:
header=3
аргумент конструктора, который установит эту строку в качестве строки заголовка: stackoverflow.com/a/51822697/191246Ответы:
Используйте
iloc
:даст вам новый DF без первых трех строк.
источник
groupby()
? Это работает, но возвращает повторяющиеся столбцы в индексеdf=pd.DataFrame({'v':np.arange(10).tolist()*2,'g':['a']*10+['b']*10});df.groupby('g').apply(lambda x: x.iloc[3:])
df=df.iloc[3:9]
?pd.concat()
. Нечто подобноеdf2 = pd.concat([df.iloc[:3],df.iloc[10:]])
.Я думаю, что более явный способ сделать это - использовать drop.
Синтаксис:
И как отметили @tim и @ChaimG, это можно сделать на месте:
Одним из способов реализации этого может быть:
И еще одно «на месте» использования:
источник
drop
можно даже рассчитать на месте (без дополнительного назначения). Быстрее и проще!df.drop(label, inplace=True)
inplace
операции не быстрее. Кроме того, проще вопрос мнения: мне легче читать, когда код не имеетinplace
параметров.n опускает первые n строк.
источник
Вы можете использовать нарезку Python, но обратите внимание, что это не на месте.
источник
pandas
?Pandas использует нумерацию с нуля, поэтому 0 - это первая строка, 1 - вторая строка и 2 - третья строка.
источник
Простой способ - использовать tail (-n) для удаления первых n строк.
df=df.tail(-3)
источник
inp0 = pd.read_csv ("bank_marketing_updated_v1.csv", skiprows = 2)
или если вы хотите сделать в существующем фрейме данных
просто выполните следующую команду
источник