Câu trả lời của @ bdiamante chỉ có thể giúp bạn một phần. Nếu bạn vẫn nhận được một tin nhắn sau khi bạn đã loại bỏ các cảnh báo, thì đó là do pandas
chính thư viện đang in tin nhắn. Bạn không thể làm gì nhiều về điều đó trừ khi bạn tự chỉnh sửa mã nguồn Pandas. Có thể có một tùy chọn bên trong để triệt tiêu chúng hoặc cách ghi đè lên mọi thứ, nhưng tôi không thể tìm thấy.
Dành cho những ai cần biết tại sao ...
Giả sử bạn muốn đảm bảo một môi trường làm việc sạch sẽ. Ở đầu kịch bản của bạn, bạn đặt pd.reset_option('all')
. Với Pandas 0.23.4, bạn nhận được những điều sau:
>>> import pandas as pd
>>> pd.reset_option('all')
html.border has been deprecated, use display.html.border instead
(currently both are identical)
C:\projects\stackoverflow\venv\lib\site-packages\pandas\core\config.py:619: FutureWarning: html.bord
er has been deprecated, use display.html.border instead
(currently both are identical)
warnings.warn(d.msg, FutureWarning)
: boolean
use_inf_as_null had been deprecated and will be removed in a future
version. Use `use_inf_as_na` instead.
C:\projects\stackoverflow\venv\lib\site-packages\pandas\core\config.py:619: FutureWarning:
: boolean
use_inf_as_null had been deprecated and will be removed in a future
version. Use `use_inf_as_na` instead.
warnings.warn(d.msg, FutureWarning)
>>>
Theo lời khuyên của @ bdiamante, bạn sử dụng warnings
thư viện. Bây giờ, đúng như lời của nó, các cảnh báo đã được gỡ bỏ. Tuy nhiên, một số tin nhắn pesky vẫn còn:
>>> import warnings
>>> warnings.simplefilter(action='ignore', category=FutureWarning)
>>> import pandas as pd
>>> pd.reset_option('all')
html.border has been deprecated, use display.html.border instead
(currently both are identical)
: boolean
use_inf_as_null had been deprecated and will be removed in a future
version. Use `use_inf_as_na` instead.
>>>
Trong thực tế, vô hiệu hóa tất cả các cảnh báo tạo ra cùng một đầu ra:
>>> import warnings
>>> warnings.simplefilter(action='ignore', category=Warning)
>>> import pandas as pd
>>> pd.reset_option('all')
html.border has been deprecated, use display.html.border instead
(currently both are identical)
: boolean
use_inf_as_null had been deprecated and will be removed in a future
version. Use `use_inf_as_na` instead.
>>>
Theo nghĩa thư viện tiêu chuẩn, đây không phải là những cảnh báo đúng . Gấu trúc thực hiện hệ thống cảnh báo riêng của mình. Chạy grep -rn
trên các thông báo cảnh báo cho thấy pandas
hệ thống cảnh báo được triển khai trong core/config_init.py
:
$ grep -rn "html.border has been deprecated"
core/config_init.py:207:html.border has been deprecated, use display.html.border instead
Theo đuổi thêm cho thấy tôi không có thời gian cho việc này. Và có lẽ bạn cũng không. Hy vọng rằng điều này sẽ giúp bạn không rơi xuống hố thỏ hoặc có thể truyền cảm hứng cho ai đó để tìm ra cách thực sự đàn áp những thông điệp này!
warnings....ignore
trước cácimport pandas...
để gây raFutureWarning
để được bỏ qua.