Saat saya menjalankan program, Pandas memberikan 'Peringatan Masa Depan' seperti di bawah ini setiap saat.
D:\Python\lib\site-packages\pandas\core\frame.py:3581: FutureWarning: rename with inplace=True will return None from pandas 0.11 onward
" from pandas 0.11 onward", FutureWarning)
Saya mendapat pesan, tetapi saya hanya ingin menghentikan Pandas menampilkan pesan seperti itu lagi dan lagi, apakah ada parameter buildin yang dapat saya setel agar Pandas tidak memunculkan 'Peringatan mendatang'?
warnings....ignore
sebelum yangimport pandas...
menyebabkanFutureWarning
untuk diabaikan.Jawaban @ bdiamante mungkin hanya membantu Anda sebagian. Jika Anda masih mendapatkan pesan setelah Anda menyembunyikan peringatan, itu karena
pandas
perpustakaan itu sendiri yang mencetak pesan tersebut. Tidak banyak yang dapat Anda lakukan kecuali Anda mengedit sendiri kode sumber Pandas. Mungkin ada pilihan secara internal untuk menekannya, atau cara untuk menimpanya, tapi saya tidak bisa menemukannya.Bagi yang perlu tahu kenapa ...
Misalkan Anda ingin memastikan lingkungan kerja yang bersih. Di bagian atas naskah Anda, Anda meletakkan
pd.reset_option('all')
. Dengan Pandas 0.23.4, Anda mendapatkan yang berikut:Mengikuti saran @ bdiamante, Anda menggunakan
warnings
perpustakaan. Sekarang, sesuai dengan kata-katanya, peringatan telah dihapus. Namun, beberapa pesan mengganggu tetap ada:Nyatanya, menonaktifkan semua peringatan menghasilkan keluaran yang sama:
Dalam pengertian pustaka standar, ini bukanlah peringatan yang sebenarnya . Panda menerapkan sistem peringatannya sendiri. Berjalan
grep -rn
pada pesan peringatan menunjukkan bahwapandas
sistem peringatan diimplementasikan dalamcore/config_init.py
:Pengejaran lebih lanjut menunjukkan bahwa saya tidak punya waktu untuk ini. Dan Anda mungkin juga tidak. Semoga ini menyelamatkan Anda dari jatuh ke lubang kelinci atau mungkin menginspirasi seseorang untuk mencari cara bagaimana benar-benar menekan pesan-pesan ini!
sumber
Peringatan itu mengganggu. Seperti yang disebutkan dalam jawaban lain, Anda dapat menekannya dengan menggunakan:
Tetapi jika Anda ingin menanganinya satu per satu dan Anda mengelola basis kode yang lebih besar, akan sulit menemukan baris kode yang menyebabkan peringatan tersebut. Karena peringatan, tidak seperti kesalahan, tidak disertai dengan pelacakan kode. Untuk melacak peringatan seperti kesalahan, Anda dapat menulis ini di bagian atas kode:
Tetapi jika basis kode lebih besar dan itu mengimpor banyak pustaka / paket lain, maka semua jenis peringatan akan mulai dimunculkan sebagai kesalahan. Untuk memunculkan hanya jenis peringatan tertentu (dalam kasus Anda, FutureWarning-nya) sebagai kesalahan, Anda dapat menulis:
sumber