Jupyter Notebook中Julia布尔值显示0/1而非true/false的原因及解决
Julia DataFrames布尔列在终端与Jupyter显示差异的原因及解决方法
原因
终端和Jupyter Notebook里DataFrames的布尔列显示不同,核心是渲染后端的差异:
- 终端使用文本渲染后端,直接输出布尔类型的原生字面量
true/false; - Jupyter默认用HTML渲染后端,为了适配表格的HTML展示逻辑,会把Bool类型转换成数字
0/1显示,但数据本身的类型依然是Bool,只是呈现形式变了。
解决方法
可以通过修改显示后端,让Jupyter里的布尔列也显示为true/false,有两种方式:
临时修改单次显示
直接用show函数指定文本后端渲染:
show(your_dataframe, backend=:text)
这样只会改变当前这次的显示效果,不影响后续的DataFrames展示。
全局修改默认显示
在Notebook开头运行以下代码,设置全局默认的显示后端为文本模式:
using DataFrames DataFrames.set_show_backend(:text)
之后所有DataFrames的输出都会和终端一致,布尔列显示true/false。如果想恢复默认的HTML表格显示,执行:
DataFrames.set_show_backend(:html)
内容的提问来源于stack exchange,提问作者Quinten
相关产品推荐
相关产品推荐

