Pandasのファイル入出力は非常に強力で、多くのファイル形式に対応しています。
Pandas公式HP(英語)を見ると、
に対応していて、読み込みはもちろん、書き込みもほとんどのファイル形式でできるようです。
import pandas as pd
# ファイル読み込みの代わり
from io import StringIO
data = """col1, col2, col3
123, a, 9.0
456, b, 1.e2
789, c, 50.99
"""
pd.read_csv(StringIO(data))
ヘッダーがない場合は、そう言わなければなりません。
# ヘッダーがない場合
data = """123, a, 9.0
456, b, 1.e2
789, c, 50.99
"""
df = pd.read_csv(StringIO(data), header=None)
df
read_csvには、様々なオプション引数を与えられます。
Pandasのread_csvの全引数を解説で、必要なオプションを設定してください。
出力は、to_××という名前の関数を使ってください。
# CSVに出力
df.to_csv()
# HTMLに出力
df.to_html()
Python特有のバイナリファイル形式として、pickleというものがあります。
”漬物”という意味で、その名の通り、オブジェクトを漬物のように保存することができます。
解析結果をDataFrameの情報を保ったまま保存したり、それを復元したりすることができるので、解析を中断したりするときに非常に便利です。
特に、Pandasのcolumnsやindex, dtypesの情報なども全て保つことができるため、もともとのDataFrameと全く同じものが復元できます。
CSVといったテキストファイルに出力すると、他の人との共有する場合には適していますが、そういったメタ情報は抜け落ちてしまうため、自分だけで使用する一時的なファイルを作る場合は積極的にpickleで保存していくとよいかと思います。
pickleはバージョンによって互換性がない場合があります。
他の環境にファイルを渡す場合には、pickleファイルを使わず、テキストファイルなどを用いるようにしましょう。
df
保存はto_pickleです。
df.to_pickle("mydata.pickle")
読み込みはread_pickleです。
pd.read_pickle("mydata.pickle")