Когда я запускаю программу, Pandas каждый раз выдает предупреждение о будущем, как показано ниже.
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)
Я получил сообщение, но я просто хочу, чтобы Pandas снова и снова не показывал такое сообщение, есть ли какой-либо параметр buildin, который я могу установить, чтобы Pandas не всплывал с предупреждением о будущем?
warnings....ignore
передimport pandas...
тем, чтобы вызватьFutureWarning
игнорироваться.Ответ @bdiamante может вам помочь лишь частично. Если вы все еще получаете сообщение после того, как вы подавили предупреждения, это потому, что
pandas
сама библиотека печатает сообщение. Вы мало что можете с этим поделать, если сами не отредактируете исходный код Pandas. Может быть, есть внутренняя возможность подавить их или способ отменить что-то, но я не мог его найти.Для тех, кому нужно знать, почему ...
Предположим, вы хотите обеспечить чистую рабочую среду. Вверху вашего скрипта вы помещаете
pd.reset_option('all')
. С Pandas 0.23.4 вы получите следующее:Следуя совету @bdiamante, вы пользуетесь
warnings
библиотекой. Теперь, правда, предупреждения сняты. Однако остается несколько неприятных сообщений:Фактически, отключение всех предупреждений приводит к тому же результату:
В стандартном библиотечном смысле это не настоящие предупреждения . Pandas реализует собственную систему предупреждений. Запуск
grep -rn
предупреждающих сообщений показывает, чтоpandas
система предупреждений реализована вcore/config_init.py
:Дальнейшая погоня показывает, что у меня нет на это времени. И вы, вероятно, тоже этого не сделаете. Надеюсь, это убережет вас от падения в кроличью нору или, возможно, вдохновит кого-нибудь на поиск способов подавления этих сообщений!
источник
Предупреждения раздражают. Как упоминалось в других ответах, вы можете подавить их, используя:
Но если вы хотите обрабатывать их по одному и управляете большей кодовой базой, будет сложно найти строку кода, которая вызывает предупреждение. Поскольку предупреждения, в отличие от ошибок, не сопровождаются отслеживанием кода. Чтобы отслеживать такие предупреждения, как ошибки, вы можете написать это в верхней части кода:
Но если кодовая база больше и она импортирует кучу других библиотек / пакетов, тогда все виды предупреждений начнут выдаваться как ошибки. Чтобы выдать только определенный тип предупреждений (в вашем случае FutureWarning) как ошибку, вы можете написать:
источник