pandas データをEDA解析をする 機会が増えたため
outputにEDA_dataフォルダ作成後
EDAデータを保存する関数を作成しました
indexNamesの部分がpandasの入る部分
"グループ化したいカラム名を入れてください"
の部分に pandasのカラム名を入れていただけると幸いです
#EDA解析
def EDA_Analysis(indexNames):
#outputにEDA_dataフォルダ作成 makedirs で深い階層まで作成できる
data_dir_out="./output/EDA_data"
if not os.path.exists(data_dir_out):
os.makedirs(data_dir_out)
print("make_new")
#EDA解析
data=indexNames
# カラム名でグループ化
class_group = data.groupby("グループ化したいカラム名を入れてください")
# カラムが全表示できるようにオプションを指定(notebook)
pd.options.display.max_columns = None
# 全クラスの統計量表示
class_group.describe()
data.hist(figsize=(20,10))
#グラフが重ならないようにする
plt.tight_layout()
class_group = data.groupby("グループ化したいカラム名を入れてください")
class_group["target"].hist(alpha=0.7)
#data_dirフォルダに図の保存
plt.savefig(data_dir_out+"/class_group.png")
plt.show()
# 全てを表示させる
plt.figure(figsize=(20,10))
for n, name in enumerate(data.columns.drop("カラム名を入れてください")):
plt.subplot(4,4,n+1)
class_group[name].hist(alpha=0.7)
plt.title(name,fontsize=13,x=0, y=0)
plt.legend([3,3.5,4,4.5,5])
#data_dirフォルダに図の保存
plt.savefig(data_dir_out+"/D_time_hist"+"all"+".png")
#図をリセット
plt.figure()
class_group = data.groupby("グループ化したいカラム名を入れてください")
class_group["target"].hist(alpha=0.7)
plt.legend([3,3.5,4,4.5,5])
#data_dirフォルダに図の保存
plt.savefig(data_dir_out+"/D_time_hist.png")
plt.show()
#図をリセット
plt.figure()
df_corr = df_corr = data.corr()
print(df_corr)
# ヒートマップを出力
sns.heatmap(df_corr)
data2=data.dropna()
#data_dirフォルダに図の保存
plt.savefig(data_dir_out+"/heatmap.png")
plt.show()
EDA_Analysis(merge_data)
CEML 部長のソースコードを参考に作成しました!!