Python、機械学習

【Python】print()とdisplay()、pprint()の違い

Jupyter notebookでPythonを書くとき、結果を都度アプトプットを表示させながらコーディングを進めているかと思います。

このとき、よく使うのがprint()ですが、時々display()やpprint()を使って表示させるケースも見受けられます。

一体、print()と何が違うのでしょうか?

display()はdataframe形式の表のレイアウトを崩さないのがメリット

display()はdataframe形式の表のレイアウトを保持してくれます。

例えば、次のようなDataframeがあったとします。

import pandas as pd

df = pd.DataFrame([[2, 3, 4, 5], [1, 2, 3, 4]], 
index=['sample1', 'sample2'], 
columns=['propertyA', 'propertyB','propertyC','propertyD'])

df

このdfをprintで表示するとこのようになります。

print(df)

dataframe特有のレイアウトがなくなり、数字と文字だけになってしまいます。

ところが、display()を使うと、このdataframe特有のレイアウトを保持してくれます。

display(df)

pprint()は自動できれいに改行してくれたりする

pprint()はリストや辞書の配列表示をきれいな見栄えにしてくれます。

例えば、次のようなリストがあったとします。

info_list = ['chemoinfomatics', 'materialsinfomatics', 
'processinfomatics', 'catalystinfomatics']

このdfをprintで表示するとこのようになります。

print(info_list)

[‘chemoinfomatics’, ‘materialsinfomatics’, ‘processinfomatics’, ‘catalystinfomatics’]

ところが、display()を使うと、このdataframe特有のレイアウトを保持してくれます。

from pprint import pprint
pprint(info_list)

[‘chemoinfomatics’,
‘materialsinfomatics’,
‘processinfomatics’,
‘catalystinfomatics’]

pprintを使う場合は、予めpprintをインポートする必要があります。

ちなみに、pprintの頭文字のpは「pretty」のpです。