Kursus
Sering kali sebuah DataFrame berisi kolom yang tidak berguna untuk analisis Anda. Kolom seperti itu sebaiknya dihapus dari DataFrame agar Anda lebih mudah fokus pada kolom yang tersisa.
Kolom dapat dihapus dengan menentukan nama label beserta axis yang sesuai, atau dengan langsung menentukan nama indeks atau kolom. Saat menggunakan multi-index, label pada level berbeda dapat dihapus dengan menentukan level-nya.
.drop() Method
Mari bandingkan jumlah nilai hilang dengan bentuk (shape) dataframe. Anda akan melihat bahwa kolom county_name mengandung nilai hilang sebanyak jumlah baris, artinya kolom tersebut hanya berisi nilai hilang.
ri.isnull().sum()
state 0
stop_date 0
stop_time 0
county_name 91741
driver_gender 5205
driver_race 5202
...
ri.shape
91741, 15
Karena tidak berisi informasi yang berguna, kolom ini dapat dihapus menggunakan metode .drop().
Selain menentukan nama kolom, Anda perlu menyatakan bahwa Anda menghapus dari axis kolom dan ingin operasi dilakukan secara in-place, sehingga tidak perlu pernyataan penugasan seperti di bawah ini:
ri.drop('county_name',
axis='columns', inplace=True)
.dropna() Method
Metode .dropna() sangat berguna untuk menghapus baris berdasarkan keberadaan nilai hilang pada baris tersebut.
Misalnya, menggunakan dataset di atas, anggap kolom stop_date dan stop_time sangat penting untuk analisis kita, sehingga sebuah baris tidak berguna tanpa data tersebut.
ri.head()
state stop_date stop_time driver_gender driver_race
0 RI 2005-01-04 12:55 M White
1 RI 2005-01-23 23:15 M White
2 RI 2005-02-17 04:15 M White
3 RI 2005-02-20 17:15 M White
4 RI 2005-02-24 01:20 F White
Kita dapat memberi tahu pandas untuk menghapus semua baris yang memiliki nilai hilang pada kolom stop_date atau stop_time. Karena kita menentukan subset, metode .dropna() hanya mempertimbangkan dua kolom ini saat memutuskan baris mana yang akan dihapus.
ri.dropna(subset=['stop_date', 'stop_time'], inplace=True)
Contoh Interaktif Menghapus Kolom
Pada contoh ini, Anda akan menghapus kolom county_name karena hanya berisi nilai hilang, dan Anda akan menghapus kolom state karena semua pemberhentian lalu lintas terjadi di satu negara bagian (Rhode Island). Dengan demikian, kolom-kolom ini dapat dihapus karena tidak mengandung informasi yang berguna. Jumlah nilai hilang di setiap kolom telah dicetak ke konsol untuk Anda.
- Periksa
.shapeDataFrame untuk mengetahui jumlah baris dan kolom. - Hapus kolom
county_namedanstatedengan meneruskan nama kolom ke metode.drop()sebagai daftar string. - Periksa kembali
.shapeuntuk memastikan sekarang ada dua kolom lebih sedikit.
# Examine the shape of the DataFrame
print(ri.shape)
# Drop the 'county_name' and 'state' columns
ri.drop(['county_name', 'state'], axis='columns', inplace=True)
# Examine the shape of the DataFrame (again)
print(ri.shape)
Saat Anda menjalankan kode di atas, hasilnya sebagai berikut:
(91741, 15)
(91741, 13)
Untuk mempelajari lebih lanjut tentang menghapus kolom di pandas, silakan tonton video dari kursus kami, Introduction to Data Visualization with ggplot2.
Konten ini diambil dari kursus DataCamp Introduction to Data Visualization with ggplot2 oleh Kevin Markham.
Lihat juga Tutorial Menambahkan Kolom di Pandas.
