変数の可視化

カテゴリ変数の可視化

# body
# ライブラリのimport
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# 前処理
df = pd.read_csv('dataset.csv')
df["AG_ratio"].fillna(df["Alb"] / (df["TP"] - df["Alb"]), inplace=True)
df.drop_duplicates(inplace=True)
df.reset_index(drop=True, inplace=True)
 #データフレームの分離 
col_categoric = ["Gender", "disease"]
df_numeric = df.drop(col_categoric, axis=1)
df_categoric = df[col_categoric]
#"disease"列にdf_numericを追加
df_tmp = pd.concat([df_categoric["disease"], df_numeric], axis=1)
 #グラフの表示 
plt.figure(figsize=(12, 12))
for ncol, colname in enumerate(df_numeric.columns):
   plt.subplot(3, 3, ncol+1)
   sns.distplot(df_tmp.query("disease==0")[colname])
   sns.distplot(df_tmp.query("disease==1")[colname])
   plt.legend(labels=["non", "diseased"], loc='upper right')
plt.show()


# 前処理
df = pd.read_csv('dataset.csv')
df["AG_ratio"].fillna(df["Alb"] / (df["TP"] - df["Alb"]), inplace=True)
(欠損値を任意の値で置き換える作業)
※inplaceは元のデータに上書きする。
df.drop_duplicates(inplace=True)
(重複したデータを削除)
df.reset_index(drop=True, inplace=True)
(インデックスをリセットして新たに置き換える。)


#データフレームの分離
col_categoric = ["Gender", "disease"]
(カテゴリ変数のcolumnをリスト化。)
df_numeric = df.drop(col_categoric, axis=1)
(全体からカテゴリ変数を消去し、量的変数データのデータフレームを作成。)
df_categoric = df[col_categoric]
(カテゴリ変数のデータフレームを作成。)


#"disease"列にdf_numericを追加
df_tmp = pd.concat([df_categoric["disease"], df_numeric], axis=1)
(axis=1で列同士を接続。)



#グラフの表示
plt.figure(figsize=(12, 12))
(グラフのサイズを決める。)
for ncol, colname in enumerate(df_numeric.columns):
(ループ構文、ncol:位置決め、calname:カラム名)
  plt.subplot(3, 3, ncol+1)
  sns.distplot(df_tmp.query("disease==0")[colname])
  sns.distplot(df_tmp.query("disease==1")[colname])
  plt.legend(labels=["non", "diseased"], loc='upper right')
plt.show()

<出力結果>

画像2


画像1


この記事が気に入ったらサポートをしてみませんか?