산점도
양적 변수와 양적 변수
두 항목 사이의 산점도
matplotlib
import matplotlib.pyplot as plt
# columnsの2項目から散布図作成
plt.scatter(df['column1'], df['column2'])
# 横軸と縦軸のラベルを追加
plt.xlabel('column1')
plt.ylabel('column2')
plt.show()
# column1とcolumn2の相関係数
print(df[['column1', 'column2']].corr())
seaborn
import seaborn as sns
sns.scatterplot(data=df, x="column1", y="column2")
# column1とcolumn2の相関係数
print(df[['column1', 'column2']].corr())
양적 변수의 산점도 + 질적 변수
sns.scatterplot(data=df, x="column1", y="column2", hue="y")
# hue="y"は色で区別/style="y"で形で区別
# 重なりが多い場合 alpha = 0~1 で濃度調整
# column1とcolumn2の相関係数
print(df[['column1', 'column2']].corr())
양적 변수 산점도 + 양적 변수 (버블 차트)
import seaborn as sns
sns.scatterplot(data=df, x="column1", y="column2", hue="y", size="column3", sizes=(10,200))
# scatterplot関数の引数sizeに量的変数を指定する
# sizesではplotの大きさ範囲を指定
# alpha=0~1で濃度調整
# ageとbalanceの相関係数
print(df[['column1', 'column2']].corr())
범례 항목 외출
ax = sns.scatterplot(data=df, x="column1", y="column2", hue="y", size="column3", sizes=(10,200))
ax.legend(loc="upper left", bbox_to_anchor=(1,1))
print(df[['column1', 'column2']].corr())
plotly
# pip install plotly
import plotly.express as px
fig=px.scatter(df,x="column1", y="column2", size ="column3", color="y",size_max=30)
fig.show()
조인트 플롯
import seaborn as sns
sns.jointplot(data=df, x="column1", y="column2",marginal_kws={"bins":10})
# ヒストグラムの本数を指定する marginal_kws={"bins":本数}
# 色の指定:color
# kind="hex" でplotから六角形のビン表示になる。濃度がプロットの密度を表す。
# hueを引数には持てない模様
# column1とcolumn2の相関係数
print(df[['column1', 'column2']].corr())
# 相関係数とp値の表示
sns.jointplot(data=df, x="column1", y="column2",marginal_kws={"bins":10}).annotate(stats.pearsonr)
# 表示枠消し
sns.jointplot(data=df, x="column1", y="column2",marginal_kws={"bins":10}).annotate(stats.pearsonr, frameon=False)
산점도 행렬
두 항목 간의 관계를 일괄 표시
matplotlib
import matplotlib.pyplot as plt
# 散布図行列の描画
pd.plotting.scatter_matrix(df[['column1','column2','column3','column4']])
plt.tight_layout()
plt.show()
산점도 행렬 → 상관 계수 행렬 → heatmap
import seaborn as sns
sns.pairplot(data=df[['column1','column2','column3','column4',"y"]],hue="y", diag_kind = "hist")
plt.show()
# ここでも hue を引数にとって質的変数の分布を見ることができる
# 質的変数ごとに色分けを指定する場合:palette={'yes': 'red','no':'blue'}
# plotするmarkerを指定する場合markers='+' / markers=['+', 's', 'd']
# 対角成分のプロット ヒストグラム:diag_kind = "hist" / カーネル密度推定 diag_kind = "kde"
# plotの濃度調整:alpha=0~1
# 二項目間の散布図に回帰直線を書く:kind='reg'
# 出力グラフサイズの指定:height=2
# グラフ化する列を指定する:x_vars=['column1', 'column2'],y_vars=['column1', 'column2']
# 指定するdf内にhueに指定したいobject型データが必要
# sns.pairplot(df[['column1','column2','column3','column4']],hue="y") だとエラー
# type(df[['column1','column2','column3','column4',"y"]]) # pandas.core.frame.DataFrame
# 出力したpairplotを.pngで保存
# sns.pairplot(df[['column1','column2','column3','column4',"y"]],hue="y").savefig('file.png')
# 相関係数行列
corr = df[['column1','column2','column3','column4',"y"]].corr(method="pearson")
print(corr)
# 相関係数行列からheatmapを作る
sns.heatmap(corr, cmap='coolwarm', annot=True)
plt.show()
# annnotで相関係数の記載のオンオフ
양적 및 질적 변수
import seaborn as sns
sns.catplot(data=df,x="category1", y="column1",hue="y",alpha=0.5)
Reference
이 문제에 관하여(산점도), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/roadto93ds/items/c31b5cd678c2069c327e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import matplotlib.pyplot as plt
# columnsの2項目から散布図作成
plt.scatter(df['column1'], df['column2'])
# 横軸と縦軸のラベルを追加
plt.xlabel('column1')
plt.ylabel('column2')
plt.show()
# column1とcolumn2の相関係数
print(df[['column1', 'column2']].corr())
import seaborn as sns
sns.scatterplot(data=df, x="column1", y="column2")
# column1とcolumn2の相関係数
print(df[['column1', 'column2']].corr())
sns.scatterplot(data=df, x="column1", y="column2", hue="y")
# hue="y"は色で区別/style="y"で形で区別
# 重なりが多い場合 alpha = 0~1 で濃度調整
# column1とcolumn2の相関係数
print(df[['column1', 'column2']].corr())
import seaborn as sns
sns.scatterplot(data=df, x="column1", y="column2", hue="y", size="column3", sizes=(10,200))
# scatterplot関数の引数sizeに量的変数を指定する
# sizesではplotの大きさ範囲を指定
# alpha=0~1で濃度調整
# ageとbalanceの相関係数
print(df[['column1', 'column2']].corr())
ax = sns.scatterplot(data=df, x="column1", y="column2", hue="y", size="column3", sizes=(10,200))
ax.legend(loc="upper left", bbox_to_anchor=(1,1))
print(df[['column1', 'column2']].corr())
# pip install plotly
import plotly.express as px
fig=px.scatter(df,x="column1", y="column2", size ="column3", color="y",size_max=30)
fig.show()
import seaborn as sns
sns.jointplot(data=df, x="column1", y="column2",marginal_kws={"bins":10})
# ヒストグラムの本数を指定する marginal_kws={"bins":本数}
# 色の指定:color
# kind="hex" でplotから六角形のビン表示になる。濃度がプロットの密度を表す。
# hueを引数には持てない模様
# column1とcolumn2の相関係数
print(df[['column1', 'column2']].corr())
# 相関係数とp値の表示
sns.jointplot(data=df, x="column1", y="column2",marginal_kws={"bins":10}).annotate(stats.pearsonr)
# 表示枠消し
sns.jointplot(data=df, x="column1", y="column2",marginal_kws={"bins":10}).annotate(stats.pearsonr, frameon=False)
import matplotlib.pyplot as plt
# 散布図行列の描画
pd.plotting.scatter_matrix(df[['column1','column2','column3','column4']])
plt.tight_layout()
plt.show()
import seaborn as sns
sns.pairplot(data=df[['column1','column2','column3','column4',"y"]],hue="y", diag_kind = "hist")
plt.show()
# ここでも hue を引数にとって質的変数の分布を見ることができる
# 質的変数ごとに色分けを指定する場合:palette={'yes': 'red','no':'blue'}
# plotするmarkerを指定する場合markers='+' / markers=['+', 's', 'd']
# 対角成分のプロット ヒストグラム:diag_kind = "hist" / カーネル密度推定 diag_kind = "kde"
# plotの濃度調整:alpha=0~1
# 二項目間の散布図に回帰直線を書く:kind='reg'
# 出力グラフサイズの指定:height=2
# グラフ化する列を指定する:x_vars=['column1', 'column2'],y_vars=['column1', 'column2']
# 指定するdf内にhueに指定したいobject型データが必要
# sns.pairplot(df[['column1','column2','column3','column4']],hue="y") だとエラー
# type(df[['column1','column2','column3','column4',"y"]]) # pandas.core.frame.DataFrame
# 出力したpairplotを.pngで保存
# sns.pairplot(df[['column1','column2','column3','column4',"y"]],hue="y").savefig('file.png')
# 相関係数行列
corr = df[['column1','column2','column3','column4',"y"]].corr(method="pearson")
print(corr)
# 相関係数行列からheatmapを作る
sns.heatmap(corr, cmap='coolwarm', annot=True)
plt.show()
# annnotで相関係数の記載のオンオフ
import seaborn as sns
sns.catplot(data=df,x="category1", y="column1",hue="y",alpha=0.5)
Reference
이 문제에 관하여(산점도), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/roadto93ds/items/c31b5cd678c2069c327e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)