Skip to main content
 首页 » 编程设计

单变量的 Python 箱线图

2025年05月04日13pengyingh

我正在尝试使用此 Python 循环打印数据集中每个变量的所有箱线图。

colNameList = list(df.columns) 
for i in range (0, len(df.columns)): 
    df.boxplot(column=colNameList[i]) 

df 是我的数据集。

为什么这个简单的代码只显示最后一个箱线图?

请您参考如下方法:

IIUC,您希望每一列都有一个框,这是 df.boxplot() 的默认值.

示例数据框:

df = pd.DataFrame({'col1':np.random.randint(0,9,100), 
                   'col2':np.random.randint(2,12,100), 
                   'col3':np.random.randint(4,14,100)}) 
 
>>> df.head() 
   col1  col2  col3 
0     6     9     4 
1     5     2     8 
2     0     7    11 
3     0    10     9 
4     0     3     8 

绘图:

df.boxplot() 

如果您只需要某些列:

df[['col1', 'col2']].boxplot() 
# or 
df.boxplot(column=['col1', 'col2']) 

编辑 根据您的评论,这里有一种方法可以将每个单独的框保存为单独的箱线图,以便您可以单独查看它们。

for i in df.columns: 
    df.boxplot(column=i) 
    plt.savefig('plot'+str(i)+'.png') 
    plt.close()