如何将这些直方图彼此相邻绘制

How to plot these histograms next to each other

我想看看数据分布。问题是我想制作单独显示每个数据框列的循环。使用这种方法,每一列的直方图都绘制在一个图形区域上。

for x in df.columns.to_list():
  df[x].hist(bins=120)

如何将这些直方图划分为单独的图像?

为什么不只是 df.hist(bins=120) ? 无需经过循环。

具有 3 列的示例数据:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

d = {'col1': [1, 2, 3, 4, 5, 6, 3, 5], 
     'col2': [1, 2, 2, 2, 5, 6, 3, 5], 
     'col3': [1, 2, 2, 2, 2, 2, 2, 6], }
df = pd.DataFrame(data=d)

df

您可以使用 matplotlib 中的子图在单独的直方图上查看每一列:

fig, axs = plt.subplots(len(df.columns), figsize=(8,12))
i=0

for x in df.columns.to_list():
    axs[i].hist(df[x], bins=10)
    i=i+1