🚀

【Pandas tips】Pandasでexcelに複数シート吐き出すTips

2022/01/03に公開

ソースコード

pd.ExcelWriter()で複数シート吐き出すことができる。

with pd.ExcelWriter("output.xlsx") as writer:
    df1.to_excel(writer, sheet_name='sheet1')
    df2.to_excel(writer, sheet_name='sheet2')

irisデータセットの変数同士のピアソン相関係数、スピアマン相関係数を複数Excelに出力する。

そのままだと面白くなかったので、targetの種類ごとにピアソン相関係数、スピアマン相関係数をしている。

import pandas as pd
from sklearn import datasets

iris = datasets.load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
df['target'] = iris.target_names[iris.target]

with pd.ExcelWriter("output.xlsx") as writer:
  for target in set(df["target"]):
    for method in ["pearson", "spearman"]:
      df_corr = df.query("target == @target").corr(method)
      df_corr.to_excel(writer, sheet_name=f"{target}_{method}")

Discussion