Untuk read_csv / read_html Anda dapat menggunakan misal header=3argumen konstruktor yang akan menetapkan baris itu sebagai baris header: stackoverflow.com/a/51822697/191246
bukankah itu menghapus 4 baris pertama, bukan 3 baris pertama dalam pertanyaan asli?
tagoma
6
Tidak, tidak. Posisi awal irisan selalu disertakan.
bdiamante
Adakah yang tahu cara melakukan ini dalam groupby()? Ini berfungsi tetapi mengembalikan kolom duplikat dalam indeksdf=pd.DataFrame({'v':np.arange(10).tolist()*2,'g':['a']*10+['b']*10});df.groupby('g').apply(lambda x: x.iloc[3:])
citynorman
Jadi, jika Anda ingin menghapus dari baris 3 ke baris 9, misalnya, bagaimana Anda melakukannya? df=df.iloc[3:9]?
MK
1
@MK jika menggunakan pendekatan ini, Anda dapat menggunakan ini dalam kombinasi dengan pd.concat(). Sesuatu seperti df2 = pd.concat([df.iloc[:3],df.iloc[10:]]),.
bdiamante
100
Saya pikir cara yang lebih eksplisit untuk melakukan ini adalah dengan menggunakan drop.
Sintaksnya adalah:
df.drop(label)
Dan seperti yang ditunjukkan oleh @tim dan @ChaimG, ini dapat dilakukan di tempat:
df.drop(label, inplace=True)
Salah satu cara untuk mengimplementasikan ini adalah:
@tim, menurut ini , inplaceoperasi tidak lebih cepat. Juga, lebih sederhana adalah masalah pendapat: Saya merasa lebih mudah dibaca ketika kode tidak memiliki inplaceparameter.
header=3
argumen konstruktor yang akan menetapkan baris itu sebagai baris header: stackoverflow.com/a/51822697/191246Jawaban:
Gunakan
iloc
:akan memberi Anda df baru tanpa tiga baris pertama.
sumber
groupby()
? Ini berfungsi tetapi mengembalikan kolom duplikat dalam indeksdf=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()
. Sesuatu sepertidf2 = pd.concat([df.iloc[:3],df.iloc[10:]])
,.Saya pikir cara yang lebih eksplisit untuk melakukan ini adalah dengan menggunakan drop.
Sintaksnya adalah:
Dan seperti yang ditunjukkan oleh @tim dan @ChaimG, ini dapat dilakukan di tempat:
Salah satu cara untuk mengimplementasikan ini adalah:
Dan penggunaan "di tempat" yang lain:
sumber
drop
bahkan dapat dihitung di tempat (tanpa tugas tambahan). Lebih cepat dan lebih sederhana!df.drop(label, inplace=True)
inplace
operasi tidak lebih cepat. Juga, lebih sederhana adalah masalah pendapat: Saya merasa lebih mudah dibaca ketika kode tidak memilikiinplace
parameter.n menjatuhkan n baris pertama.
sumber
Anda bisa menggunakan irisan python, tetapi perhatikan itu bukan di tempat.
sumber
pandas
?Panda menggunakan penomoran berbasis nol, jadi 0 adalah baris pertama, 1 adalah baris kedua dan 2 adalah baris ketiga.
sumber
Cara sederhana adalah dengan menggunakan tail (-n) untuk menghapus n baris pertama
df=df.tail(-3)
sumber
inp0 = pd.read_csv ("bank_marketing_updated_v1.csv", skiprows = 2)
atau jika Anda ingin melakukannya dalam kerangka data yang ada
cukup lakukan perintah berikut
sumber