avi*_*iss 2 plot histogram python-3.x pandas seaborn
我有一个包含 36 列的数据框。我想使用 seaborn 一次性(6x6)为每个特征绘制直方图。基本上是繁殖,df.hist()但带有seaborn。我下面的代码仅显示第一个功能的图,所有其他功能都为空。
测试数据框:
df = pd.DataFrame(np.random.randint(0,100,size=(100, 36)), columns=range(0,36))
Run Code Online (Sandbox Code Playgroud)
我的代码:
import seaborn as sns
# plot
f, axes = plt.subplots(6, 6, figsize=(20, 20), sharex=True)
for feature in df.columns:
sns.distplot(df[feature] , color="skyblue", ax=axes[0, 0])
Run Code Online (Sandbox Code Playgroud)
Imp*_*est 10
我想同时循环遍历轴和特征是有意义的。
f, axes = plt.subplots(6, 6, figsize=(20, 20), sharex=True)
for ax, feature in zip(axes.flat, df.columns):
sns.distplot(df[feature] , color="skyblue", ax=ax)
Run Code Online (Sandbox Code Playgroud)
Numpy 数组按行进行展平,即您将获得第一行的前 6 个特征,第二行的特征 6 到 11 等。
如果这不是您想要的,您可以手动定义轴数组的索引,
f, axes = plt.subplots(6, 6, figsize=(20, 20), sharex=True)
for i, feature in enumerate(df.columns):
sns.distplot(df[feature] , color="skyblue", ax=axes[i%6, i//6])
Run Code Online (Sandbox Code Playgroud)
例如,上面将逐列填充子图。
| 归档时间: |
|
| 查看次数: |
7739 次 |
| 最近记录: |