JupyterでDataFrames.jlの列が省略されないようにする

Omitted printing of...

環境作り直すときにまたハマりそうなのでメモ。

JupyterでJuliaカーネルを動かし、大きめのデータフレームを表示させようとすると以下のようにデータフレームの列が省略されて表示されることがあります。(赤枠は強調のために付したもの)

Omitted columns in Jupyter

もちろんshow(mtcars, allcols=true)としてやれば、全列を標準出力として表示させることができますが、せっかくJupyterを使っているのであればhtml形式の整ったデータフレームの方が好ましいでしょう。

macOSであれば~/Library/Jupyter/kernels/julia-1.2/kernel.jsonenv項目を以下のように変更します。

変更前

{
  "display_name": "Julia 1.2.0",
  "argv": [
    "(略)"
  ],
  "language": "julia",
  "env": {},  
  "interrupt_mode": "signal"
}

変更後

LINESの数はお好みで。デフォルトでは30のようですが私には長過ぎるように感じたので"LINES": "10"としています。

{
  "display_name": "Julia 1.2.0",
  "argv": [
    "(略)"
  ],
  "language": "julia",
  "env": {
    "COLUMNS": "1000",
    "LINES": "10"
  }, 
  "interrupt_mode": "signal"
}

変更後の結果

以下のように無事全列表示されるようになりました。

All columns in Jupyter

参考