我有35个变量的列表,想绘制所有变量直方图以查看分布类型。
fig, axs = plt.subplots(6, 6)
for i in range(6):
for j in range(6):
for column in X.columns:
axs[i,j] = sns.distplot(X[column], hist=True, kde=True,
bins=int(180/5), color = 'darkblue',
hist_kws={'edgecolor':'black'},
kde_kws={'linewidth': 4})
axs[i,j].set_title(column)
当前,它仅打印最后的第35个变量。
最佳答案
这个小的更改应该可以解决问题:
fig, axs = plt.subplots(6, 6)
for i in range(6):
for j in range(6):
if (i*6) + j > 33:
break
curr_column = X.columns[(i*6) + j]
sns.distplot(X[curr_column], hist=True, kde=True,
ax=axs[i,j],
bins=int(180/5), color = 'darkblue',
hist_kws={'edgecolor':'black'},
kde_kws={'linewidth': 4})
axs[i,j].set_title(curr_column)
关于python - 遍历数据框列并绘制所有变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58707832/