jupyterでのstyleつきdataframeの出力
作成:2019-01-22 更新:2019-01-23jupyterで、styleつきdataframeの出力方法を調べるのに大変手間取ったので、結果をまとめておく。
jupyterでは、cellの最後に記述されている出力指定のない変数は、以下のように出力される。
|
|
1
又、dataframeにはstyle で、文字の色や背景色が指定できる。
指定したものを出力する場合、
- cell内最後に指定したdataframeの変数名を記述(22行)
- displayを使う(21行)
を試みたが、displayでは、表にはなったがstyleが反映されなかった。
|
|
display(df)の出力
Date | val1 | val2 | |
---|---|---|---|
0 | 2018/05/01 | 1000.0 | 900 |
1 | 2018/05/02 | 800.1 | 900 |
2 | 2018/05/03 | 1200.0 | 1100 |
3 | 2018/05/04 | 3000.0 | 3100 |
sの出力
Date | val1 | val2 | |
---|---|---|---|
0 | 2018/05/01 | 1000 | 900 |
1 | 2018/05/02 | 800.1 | 900 |
2 | 2018/05/03 | 1200 | 1100 |
3 | 2018/05/04 | 3000 | 3100 |
以下のように、cellの途中でdataframeを出力したい場合,styleの反映ができない。(23行目)
当然、途中で変数名だけ記述した場合(24行目)は何も出力されない。
|
|
Date | val1 | val2 | |
---|---|---|---|
0 | 2018/05/01 | 1000.0 | 900 |
1 | 2018/05/02 | 800.1 | 900 |
2 | 2018/05/03 | 1200.0 | 1100 |
3 | 2018/05/04 | 3000.0 | 3100 |
Date | val1 | val2 | |
---|---|---|---|
0 | 2018/05/01 | 1000.0 | 900 |
1 | 2018/05/02 | 800.1 | 900 |
2 | 2018/05/03 | 1200.0 | 1100 |
3 | 2018/05/04 | 3000.0 | 3100 |
Date | val1 | val2 | |
---|---|---|---|
0 | 2018/05/01 | 1000 | 900 |
1 | 2018/05/02 | 800.1 | 900 |
2 | 2018/05/03 | 1200 | 1100 |
3 | 2018/05/04 | 3000 | 3100 |
以下のコードを、先頭で使用することでprint,displayなしで変数のみ記述した場合、
cell最後に記述したのと同じように、出力される事が確認できた。
但し、1度目に実行では反映されず2度目以降反映された。
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
|
|
Date | val1 | val2 | |
---|---|---|---|
0 | 2018/05/01 | 1000 | 900 |
1 | 2018/05/02 | 800.1 | 900 |
2 | 2018/05/03 | 1200 | 1100 |
3 | 2018/05/04 | 3000 | 3100 |
Date | val1 | val2 | |
---|---|---|---|
0 | 2018/05/01 | 1000 | 900 |
1 | 2018/05/02 | 800.1 | 900 |
2 | 2018/05/03 | 1200 | 1100 |
3 | 2018/05/04 | 3000 | 3100 |
Date | val1 | val2 | |
---|---|---|---|
0 | 2018/05/01 | 1000 | 900 |
1 | 2018/05/02 | 800.1 | 900 |
2 | 2018/05/03 | 1200 | 1100 |
3 | 2018/05/04 | 3000 | 3100 |
上記指定をjupyter のデフォルトにしたい場合、
下記内容の ~/.ipython/profile_default/ipython_config.py を作成する。
こちらは、最初から反映されます。
但し、変数もしくは、出力が割り当てられてないステートメントが
すべて出力されるので場合によっては見にくくなってしまう。
c = get_config()
# Run all nodes interactively
c.InteractiveShell.ast_node_interactivity = "all"
参考 : Pretty Display of Variables
テスト環境
- Lubuntu 18.04
- python 3.6.7
- Jupyter Notebook 5.2.1