想象一下,我有一个包含 9 列的数据框。我希望能够达到与 df.hist() 相同的效果,但使用 sns.distplot()。
换句话说,我希望能够在 3 行 3 列的可视化中绘制数据框中每一列的 sns.distplot(),其中每个子图代表每列的唯一 sns.distplot() 总计数据框中的列数。
我对数据框的轴和列使用 for 循环进行了一些试验,但我只能获得指定列的结果。我不确定如何表示适用于行和列的代码。
我还研究了 sns.FacetGrid,但我不确定如何使用 FacetGrid 解决这个问题。
我发现 df.hist() 函数正是我想要的,但我希望能够使用 sns.distplot 来完成与 df.hist() 输出相同的表示形式中的所有列。
如果它有助于放置数据框的上下文,我基本上是在阅读 Google Colab 的加利福尼亚住房数据集的训练和测试集,其中包含除 Ocean_proximity 之外的所有列。如果您想使用该数据集帮助我解决这个问题,请从 Kaggle 获取并删除 Ocean_proximity 列。
我的 9 列方法:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.read_csv('housing.csv')
df.drop('ocean_proximity', axis=1, inplace=True)
fig, axes = plt.subplots(ncols=len(df.columns), figsize=(30,15))
for ax, col in zip(axes, df.columns):
sns.distplot(df[col], ax=ax)
plt.tight_layout()
plt.show()
Run Code Online (Sandbox Code Playgroud)