如何使用sns.distplot为DataFrame多列批量绘制密度图?
如何使用sns.distplot为DataFrame中的列列表创建多个密度图?
要为无缺失值的DataFrame(比如data_no_mv)的每一列绘制独立的密度图,可以通过循环遍历列名调用sns.distplot实现。原代码存在索引错误,以下是修正后的完整实现:
import seaborn as sns import matplotlib.pyplot as plt # 获取数据集所有列名 columns = list(data_no_mv) # 循环遍历每一列,绘制对应密度图 for col in columns: # 直接传入整列数据,无需额外索引 sns.distplot(data_no_mv[col], axlabel=col) # 单独展示当前图,避免多个图重叠 plt.show()
关键说明:
data_no_mv是不含缺失值的14列数据集,循环会自动遍历每一列,生成14个独立的密度图- 原代码中
data_no_mv[i][len(columns)+1]是错误写法,这只会取该列的单个元素,无法生成密度图,需直接传入整列数据data_no_mv[col] axlabel=col用于设置每个图的x轴标签为对应列名,便于识别不同列的分布- 每次调用
plt.show()会单独弹出当前列的密度图,确保每个图独立展示
内容的提问来源于stack exchange,提问作者Himanshurenwal
相关产品推荐
相关产品推荐

