Hai! Sebagai pemasok produk NAN, saya telah berurusan dengan banyak data di Pandas DataFrames, dan satu masalah sial yang selalu muncul adalah nilai -nilai 'nan'. Anda tahu, kekosongan kecil yang dapat mengacaukan seluruh analisis Anda jika Anda tidak hati -hati. Di blog ini, saya akan membagikan beberapa tips tentang cara menangani nilai -nilai 'nan' ini seperti pro.
Pertama, mari kita bicara tentang apa arti sebenarnya 'nan'. 'Nan' berarti 'bukan angka', dan pada dasarnya itu adalah cara Pandas 'mengatakan bahwa ada data yang hilang atau tidak valid di dataframe Anda. Itu bisa terjadi karena semua jenis alasan - mungkin data tidak dikumpulkan dengan benar, atau ada kesalahan dalam entri data. Apa pun penyebabnya, nilai 'nan' benar -benar dapat melemparkan kunci pas dalam analisis data Anda, jadi penting untuk mengetahui bagaimana menghadapinya.
Salah satu cara paling sederhana untuk menangani nilai 'nan' adalah dengan hanya menjatuhkannya. Panda memiliki metode yang sangat berguna disebutmenjatuhkan ()yang dapat Anda gunakan untuk menyingkirkan setiap baris atau kolom yang berisi nilai 'nan'. Inilah contohnya:
impor panda sebagai pd impor numpy sebagai np # buat sampel dataaframe dengan 'nan' values data = {'col1': [1, 2, np.nan, 4], 'col2': [5, np.nan, 7, 8], 'col3': [9, 10, 11, np.nan]} df = pd. df_dropped_rows = df.dropna () # drop kolom dengan nilai 'nan' df_dropped_cols = df.dropna (axis = 1)
Dalam kode di atas,menjatuhkan ()Tanpa argumen akan menjatuhkan baris yang berisi setidaknya satu nilai 'nan'. Jika Anda lulusSumbu = 1, itu akan menjatuhkan kolom sebagai gantinya. Metode ini bagus jika Anda memiliki banyak data dan nilai 'NAN' relatif jarang, tetapi juga dapat menyebabkan hilangnya data yang signifikan jika ada banyak nilai 'NAN'.
Opsi lain adalah mengisi nilai 'nan' dengan nilai tertentu. Panda memiliki metode yang dipanggilMengisi ()yang dapat Anda gunakan untuk melakukan ini. Anda dapat mengisi nilai 'nan' dengan nilai konstan, rata -rata, median, atau mode kolom, atau bahkan nilai sebelumnya atau berikutnya di kolom. Berikut beberapa contoh:
# Isi nilai 'nan' dengan nilai konstan df_filled_constant = df.fillna (0) # mengisi nilai 'nan' dengan rata -rata kolom df_filled_mean = df.fillna (df.mean ()) # isi 'nan' dengan nilai sebelumnya dalam kolom df_fill_prev = df.frev = df.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.frev.fill.fill Kolom df_filled_next = df.fillna (method = 'bfill')
Mengisi nilai 'nan' bisa menjadi cara yang baik untuk melestarikan data Anda, tetapi Anda harus berhati -hati tentang nilai apa yang Anda gunakan untuk mengisinya. Menggunakan rata -rata atau median dapat bekerja dengan baik jika data didistribusikan secara normal, tetapi mungkin tidak tepat jika data memiliki banyak pencilan.
Jika Anda berurusan dengan data deret waktu, Anda mungkin ingin menggunakan interpolasi untuk mengisi nilai -nilai 'NAN'. Interpolasi adalah metode estimasi nilai antara titik data yang diketahui. Panda memiliki metode yang dipanggilmenambah()yang dapat Anda gunakan untuk melakukan ini. Inilah contohnya:
# Interpolate 'Nan' Values df_interpolated = df.interpolate ()
Interpolasi dapat menjadi cara yang bagus untuk mengisi nilai 'nan' dalam data deret waktu karena memperhitungkan tren data. Namun, penting untuk dicatat bahwa interpolasi hanyalah perkiraan, dan nilai -nilai aktual bisa berbeda.
Sekarang, mari kita bicara tentang beberapa teknik yang lebih canggih untuk menangani nilai -nilai 'nan'. Salah satu pendekatan adalah menggunakan algoritma pembelajaran mesin untuk memprediksi nilai yang hilang. Anda dapat melatih model pada data non-missing dan kemudian menggunakannya untuk memprediksi nilai-nilai 'NAN'. Ini bisa menjadi cara yang lebih akurat untuk mengisi nilai -nilai 'NAN', tetapi juga membutuhkan lebih banyak sumber daya dan keahlian komputasi.
Pendekatan lain adalah menggunakan banyak imputasi. Multiple Imputasi adalah teknik statistik yang melibatkan pembuatan banyak salinan dari DataFrame, mengisi nilai -nilai 'NAN' di setiap salinan menggunakan metode yang berbeda, dan kemudian menggabungkan hasilnya. Ini dapat membantu mengurangi bias dan ketidakpastian yang terkait dengan mengisi nilai -nilai 'nan'.
Dalam pengalaman saya sebagai pemasok NAN, saya telah menemukan bahwa kombinasi teknik ini biasanya bekerja paling baik. Sebagai contoh, saya mungkin mulai dengan menjatuhkan baris atau kolom dengan sejumlah besar nilai 'NAN', kemudian mengisi nilai 'NAN' yang tersisa menggunakan kombinasi nilai konstan, rata -rata, dan interpolasi. Dan jika saya membutuhkan perkiraan yang lebih akurat, saya dapat menggunakan pembelajaran mesin atau banyak imputasi.
Sebelum saya selesai, saya ingin menyebutkan beberapa produk yang mungkin menarik bagi Anda. Jika Anda berada di industri percetakan, Anda mungkin ingin memeriksaTinta Sublimasi Pewarna. Ini adalah tinta berkualitas tinggi yang sempurna untuk dicetak pada berbagai bahan. Dan jika Anda berada di industri farmasi, Anda mungkin tertarikFlorfenicol CAS no.: 73231-34-2DanOxytetracycline Hydrochloride HCl Cas No.: 2058-46-0. Keduanya adalah bahan baku farmasi API yang banyak digunakan dalam produksi antibiotik.
Jika Anda tertarik dengan salah satu produk NAN kami atau memiliki pertanyaan tentang menangani nilai 'NAN' dalam data Anda, jangan ragu untuk menjangkau diskusi pengadaan. Kami selalu senang membantu!


Referensi:
- McKinney, W. (2012). Python untuk Analisis Data: Perselisihan data dengan panda, Numpy, dan Ipython. Media O'Reilly.
- Vanderplas, J. (2016). Buku Pegangan Ilmu Data Python: Alat penting untuk bekerja dengan data. Media O'Reilly.
