【Pandas】DataFrameを綺麗に整形されたStringに変換するtabulate
概要
PandasのDataFrameをStringに変換する方法として,DataFrameのto_string
メソッドを使用する方法(参考)があげられますが,
こちらで出力される結果は見にくく,別の方法がないかと探しておりました.
そこでDataFrameを綺麗に整形されたStringに変換できるtabulateというライブラリを見つけたので,こちらに使い方をメモしておきます.
tabulateとは
Pretty-print tabular data in Python, a library and a command-line utility.
READMEに書かれている通り,テーブルデータを綺麗に整形するライブラリです.
github
やpsql
,rst
, jira
形式など,様々な表形式に変換することができます.
インストール方法
pipでインストールできます
pip install tabulate
使い方
tabulate.tabulate
にDataFrameとヘッダー,表形式を渡すだけで,簡単に整形してくれます.
ヘッダーとして,DataFrameのカラム名を使用する際は,headers="keys"
と指定すれば良いです.
対応している表形式に関してはこちらをご参照してください.
from tabulate import tabulate df = pd.DataFrame( { "Name": ["Alice", "Bob"], "Age": [24, 19], "Height": [170, 175], } ) print(df.to_string()) """出力 Name Age Height 0 Alice 24 170 1 Bob 19 175 """ print(tabulate(df, , headers="keys", tablefmt="psql")) """出力 +----+--------+-------+----------+ | | Name | Age | Height | |----+--------+-------+----------| | 0 | Alice | 24 | 170 | | 1 | Bob | 19 | 175 | +----+--------+-------+----------+ """ print(tabulate(df, , headers="keys", tablefmt="rst")) """出力 ==== ====== ===== ======== .. Name Age Height ==== ====== ===== ======== 0 Alice 24 170 1 Bob 19 175 ==== ====== ===== ======== """
DataFrameのto_string
に比べて,かなり見やすく出力されているのが確認できました!
Reference
- astanin/python-tabulate: Pretty-print tabular data in Python, a library and a command-line utility. Repository migrated from bitbucket.org/astanin/python-tabulate.
- pandas.DataFrame.to_string — pandas 1.3.5 documentation
- python - Pretty Printing a pandas dataframe - Stack Overflow
リンク