使用boxplot()时如何抑制两类警告?
搞定boxplot()的两条警告问题
嘿,我来帮你解决这两个烦人的警告!咱们先从根源处理,要是你只是想临时让它们消失,也给你对应的办法:
第一条警告:mpl_style已废弃的FutureWarning
这条警告是因为pd.options.display.mpl_style已经被pandas官方弃用啦,现在推荐用matplotlib自己的样式设置来替代。你只需要把原来的代码:
pd.options.display.mpl_style = 'default'
换成下面这样就好:
import matplotlib.pyplot as plt plt.style.use('default')
这样不仅能消除警告,还符合最新的用法规范哦。
第二条警告:找不到monospace字体的UserWarning
这条是因为你的系统里没有安装monospace(等宽)字体,matplotlib只能退而求其次用DejaVu Sans。如果想彻底解决的话,可以根据你的系统安装对应的等宽字体(比如Ubuntu系统装Ubuntu Mono,Windows装Consolas)。要是你只是想先把警告屏蔽掉,可以用Python的warnings模块来过滤它。
精准屏蔽特定警告的方法
如果你不想折腾字体或者修改代码逻辑,只是想让这两条警告不显示,直接在代码开头加上这段:
import warnings # 屏蔽mpl_style废弃的警告 warnings.filterwarnings("ignore", category=FutureWarning, message="mpl_style had been deprecated") # 屏蔽字体找不到的警告 warnings.filterwarnings("ignore", category=UserWarning, message="findfont: Font family ['monospace'] not found")
这种方式只会屏蔽你指定的这两条警告,不会影响其他可能重要的警告提示,比一刀切屏蔽所有警告要稳妥。
当然,如果你真的不想看到任何警告(不推荐,容易错过潜在问题),也可以用更粗暴的方式:
import warnings warnings.filterwarnings("ignore")
内容的提问来源于stack exchange,提问作者Ann Kriebel
相关产品推荐
相关产品推荐

