Dla read_csv / read_html możesz użyć np. header=3Argumentu konstruktora, który ustawi ten wiersz jako wiersz nagłówka: stackoverflow.com/a/51822697/191246
czy to nie usuwa pierwszych 4 wierszy zamiast pierwszych 3 wierszy z pierwotnego pytania?
tagoma
6
Nie, nie ma. Zawsze uwzględniana jest pozycja początkowa wycinka.
bdiamante
Czy ktoś wie, jak to zrobić w groupby()? To działa, ale zwraca zduplikowane kolumny w indeksiedf=pd.DataFrame({'v':np.arange(10).tolist()*2,'g':['a']*10+['b']*10});df.groupby('g').apply(lambda x: x.iloc[3:])
citynorman
Więc jeśli chcesz usunąć na przykład wiersz od 3 do 9, jak byś to zrobił? df=df.iloc[3:9]?
MK
1
@MK, jeśli używasz tego podejścia, możesz go używać w połączeniu z pd.concat(). Coś w rodzaju df2 = pd.concat([df.iloc[:3],df.iloc[10:]]).
bdiamante
100
Myślę, że bardziej wyraźnym sposobem na to jest użycie drop.
Składnia jest następująca:
df.drop(label)
Jak wskazali @tim i @ChaimG, można to zrobić na miejscu:
header=3
Argumentu konstruktora, który ustawi ten wiersz jako wiersz nagłówka: stackoverflow.com/a/51822697/191246Odpowiedzi:
Zastosowanie
iloc
:da ci nowy df bez pierwszych trzech rzędów.
źródło
groupby()
? To działa, ale zwraca zduplikowane kolumny w indeksiedf=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()
. Coś w rodzajudf2 = pd.concat([df.iloc[:3],df.iloc[10:]])
.Myślę, że bardziej wyraźnym sposobem na to jest użycie drop.
Składnia jest następująca:
Jak wskazali @tim i @ChaimG, można to zrobić na miejscu:
Jednym ze sposobów realizacji tego może być:
I inne zastosowanie „na miejscu”:
źródło
drop
można nawet obliczyć na miejscu (bez dodatkowego przypisania). Szybciej i prościej!df.drop(label, inplace=True)
inplace
operacje nie są szybsze. Poza tym prostsza jest kwestia opinii: łatwiej mi się czyta, gdy kod nie mainplace
parametrów.n opuszcza pierwsze n wierszy.
źródło
Możesz użyć krojenia Pythona, ale pamiętaj, że nie jest to na miejscu.
źródło
pandas
?Pandy używają numeracji od zera, więc 0 to pierwszy wiersz, 1 to drugi rząd, a 2 to trzeci wiersz.
źródło
Prostym sposobem jest użycie tail (-n) do usunięcia pierwszych n wierszy
df=df.tail(-3)
źródło
inp0 = pd.read_csv ("bank_marketing_updated_v1.csv", skiprows = 2)
lub jeśli chcesz to zrobić w istniejącej ramce danych
po prostu wykonaj następujące polecenie
źródło