Untuk memulai, berikut adalah sintaks yang dapat Anda terapkan dalam rangka menjatuhkan baris dengan nilai NaN di DataFrame Anda Show
df.dropna() Di bagian selanjutnya, Anda akan mengamati langkah-langkah untuk menerapkan sintaks di atas dalam praktik Langkah-langkah untuk Menjatuhkan Baris dengan Nilai NaN di Pandas DataFrameLangkah 1. Buat DataFrame dengan Nilai NaNKatakanlah Anda memiliki kumpulan data berikut nilai_1nilai_2700DDDABC150500350XYZ40012005000Anda kemudian dapat menangkap data di atas dengan Python dengan membuat DataFrame import pandas as pd df = pd.DataFrame({'values_1': ['700','ABC','500','XYZ','1200'], 'values_2': ['DDD','150','350','400','5000'] }) print (df)_ Setelah Anda menjalankan kode, Anda akan mendapatkan DataFrame ini
Perhatikan bahwa DataFrame berisi keduanya
Anda kemudian dapat menggunakan to_numeric untuk mengonversi nilai dalam kumpulan data menjadi format float. Tetapi karena 3 dari nilai tersebut non-numerik, Anda akan mendapatkan 'NaN' untuk 3 nilai tersebut Berikut adalah kode yang dapat Anda gunakan untuk mendapatkan nilai NaN import pandas as pd df = pd.DataFrame({'values_1': ['700','ABC','500','XYZ','1200'], 'values_2': ['DDD','150','350','400','5000'] }) df = df.apply (pd.to_numeric, errors='coerce') print (df) Seperti yang Anda amati, baris pertama, kedua, dan keempat sekarang memiliki nilai NaN _Langkah 2. Jatuhkan Baris dengan Nilai NaN di Pandas DataFrameUntuk menghapus semua baris dengan nilai NaN, Anda dapat menggunakan df. dropna() Berikut adalah kode Python lengkap untuk menghapus baris tersebut dengan nilai NaN import pandas as pd df = pd.DataFrame({'values_1': ['700','ABC','500','XYZ','1200'], 'values_2': ['DDD','150','350','400','5000'] }) df = df.apply (pd.to_numeric, errors='coerce') df = df.dropna() print (df) Jalankan kode, dan Anda hanya akan melihat dua baris tanpa nilai NaN _Anda mungkin memperhatikan bahwa kedua baris tersebut tidak lagi memiliki indeks berurutan. Saat ini 2 dan 4. Anda kemudian dapat mengatur ulang indeks untuk memulai dari 0 Dalam ilmu data terapan, Anda biasanya akan kehilangan data. Misalnya, aplikasi industri dengan sensor akan memiliki data sensor yang hilang pada hari-hari tertentu Anda memiliki beberapa alternatif untuk bekerja dengan data yang hilang. Kamu bisa
Tidak masuk akal untuk menghapus kolom karena akan membuang metrik tersebut untuk semua baris. Jadi, mari kita lihat bagaimana menangani skenario ini (Tutorial ini adalah bagian dari Panduan Panda kami. Gunakan menu sebelah kanan untuk menavigasi. ) NaN berarti data yang hilangData yang hilang diberi label NaN Perhatikan bahwa np. nan tidak sama dengan Python Tidak ada. Perhatikan juga bahwa np. nan bahkan tidak ke np. nan sebagai np. nan pada dasarnya berarti tidak terdefinisi Di sini buat kerangka data dengan 3 kolom dan 3 baris. Array np. arange(1,4) disalin ke setiap baris import pandas as pd import numpy as np df = pd.DataFrame([np.arange(1,4)],index=['a','b','c'], columns=["X","Y","Z"]) Hasil Sekarang indeks ulang array ini dengan menambahkan indeks d. Karena d tidak memiliki nilai maka diisi dengan NaN df.reindex(index=['a','b','c','d'])_ isnaSekarang gunakan isna untuk memeriksa nilai yang hilang pd.isna(df)_ notnaPemeriksaan sebaliknya—mencari nilai sebenarnya—adalah notna() pd.notna(df) natnat berarti tanggal yang hilang df['time'] = pd.Timestamp('20211225') df.loc['d'] = np.nan fillnaDi sini kita bisa mengisi nilai NaN dengan bilangan bulat 1 menggunakan fillna(1). Kolom tanggal tidak diubah karena bilangan bulat 1 bukan tanggal df=df.fillna(1)Untuk memperbaikinya, isi nilai waktu kosong dengan df['time'].fillna(pd.Timestamp('20221225')) dropna()dropna() artinya membuang baris atau kolom yang nilainya kosong. Cara lain untuk mengatakannya adalah dengan hanya menampilkan baris atau kolom yang tidak kosong Di sini kita mengisi baris c dengan NaN df = pd.DataFrame([np.arange(1,4)],index=['a','b','c'], columns=["X","Y","Z"]) df.loc['c']=np.NaN Kemudian jalankan dropna di atas sumbu baris (sumbu=0). df.dropna() Anda juga bisa menulis df.dropna(axis=0) Semua baris kecuali c dijatuhkan Untuk menjatuhkan kolom df.reindex(index=['a','b','c','d'])_0 df.reindex(index=['a','b','c','d'])_1 menambahFitur lain dari Pandas adalah ia akan mengisi nilai yang hilang menggunakan apa yang logis Pertimbangkan rangkaian waktu — katakanlah Anda memantau beberapa mesin dan pada hari-hari tertentu gagal melaporkan. Di bawahnya ada laporan tentang Natal dan hari lainnya dalam minggu itu. Kemudian kami mengindeks ulang Seri Pandas, menciptakan celah di garis waktu kami df.reindex(index=['a','b','c','d'])_2 Kami menggunakan fungsi interpolasi (). Panda mengisinya dengan baik menggunakan titik tengah di antara titik-titik tersebut. Tentu saja, jika ini lengkung, itu akan cocok dengan fungsi itu dan menemukan rata-rata dengan cara lain Bagaimana Anda menghapus nilai NaN?Untuk menghapus semua baris dengan nilai NaN, Anda dapat menggunakan df. dropna() .
Bagaimana Anda menutupi nilai NaN dengan Python?Untuk menutupi array di mana nilai yang tidak valid terjadi (NaN atau infs), gunakan numpy. ma. metode masked_invalid() dengan Python Numpy. Fungsi ini adalah jalan pintas ke masked_where, dengan kondisi = ~(np.
Bagaimana cara mengganti NaN dengan apa-apa?Untuk mengganti nilai NaN dengan string Kosong pada banyak kolom atau semua kolom dari daftar, gunakan df[['Kursus','Biaya']] = df[[ . fillna('') . Ini menggantikan nilai NaN pada kolom Kursus dan Biaya. |