2017年7月31日月曜日

Python3のPandasでDataframeをExcelで出力する

Python3のPandasライブラリでDataFrame形式のデータをExcelで出力する方法を調べたので、実際にExcelで出力するまでの手順をまとめておく。

環境は以下の通り。



Excel作成ライブラリのインストール


Excelファイルへの保存には、Pandasの他にExcelを作成するためのPythonライブラリが必要で、まずはopenpyxlをpipでインストールする。



DataFrameの準備


テスト用のDataFrameを作成する。
import pandas as pd
import numpy as np

# 0-9の乱数で配列データ作成
values = np.random.randint(10, size=(10, 3))
# DataFrame作成
df = pd.DataFrame(values, columns=['x', 'y', 'z'])

print(df)

※乱数を使っているので実行する度に数値は異なる。


DataFrameをExcelへ出力する


Excelへの出力はPandasのto_excelというメソッドを使う。
import pandas as pd
import numpy as np

# 0-9の乱数で配列データ作成
values = np.random.randint(10, size=(10, 3))
# DataFrame作成
df = pd.DataFrame(values, columns=['x', 'y', 'z'])

# ファイル名test.xlsxでExcelファイル作成
writer = pd.ExcelWriter('test.xlsx')

# DataFrameをsheetシートに出力
df.to_excel(writer, 'sheet')

# Excelファイルの保存
writer.save()

平均、標準偏差などの統計量をまとめて計算するdescribeや相関を求めるcorrも結果はDataFrame形式なので、同様にExcelに出力可能。
import pandas as pd
import numpy as np

# 0-9の乱数で配列データ作成
values = np.random.randint(10, size=(10, 3))
# DataFrame作成
df = pd.DataFrame(values, columns=['x', 'y', 'z'])

# ファイル名test.xlsxでExcelファイル作成
writer = pd.ExcelWriter('test.xlsx')

# DataFrameをsheet1シートに出力
df.to_excel(writer, 'sheet1')

# 平均、標準偏差などの統計量をsheet2シートに出力
df.describe().to_excel(writer, 'sheet2')

# 相関をsheet3シートに出力
df.corr().to_excel(writer, 'sheet3')

# Excelファイルの保存
writer.save()


以下のようなExcelが作成される。




0 件のコメント:

コメントを投稿