单变量上的Python箱线图

单变量上的Python箱线图,python,pandas,matplotlib,statistics,boxplot,Python,Pandas,Matplotlib,Statistics,Boxplot,我试图用这个python循环打印数据集中每个变量的所有箱线图 colNameList = list(df.columns) for i in range (0, len(df.columns)): df.boxplot(column=colNameList[i]) 其中df是我的数据集 为什么这个简单的代码只向我显示最后一个箱线图?IIUC,您需要为每列显示一个框,这是默认的 示例数据帧: df = pd.DataFrame({'col1':np.random.randint(0,9,

我试图用这个python循环打印数据集中每个变量的所有箱线图

colNameList = list(df.columns)
for i in range (0, len(df.columns)):
    df.boxplot(column=colNameList[i])
其中df是我的数据集


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

IIUC,您需要为每列显示一个框,这是默认的

示例数据帧

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()

IIUC,您希望每列都有一个框,这是的默认值

示例数据帧

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()

如果要为每个变量单独绘制一个图,只需将plt.show()放在for循环中:

import matplotlib.pyplot as plt
import pandas as pd

for i in df.columns:
    df.boxplot(column=i)
    plt.show()

您可以用一种更具python风格的方式编写代码:df.colums已经是一个列表,迭代在列表上完成

如果您想为每个变量单独绘制一个图,只需将plt.show()放在for循环中:

import matplotlib.pyplot as plt
import pandas as pd

for i in df.columns:
    df.boxplot(column=i)
    plt.show()

您可以用一种更具python风格的方式编写代码:df.colums已经是一个列表,迭代是在列表上完成的

如果我想在循环中完成并为每个变量显示它,您的意思是为每个变量单独绘制一个图吗?如果我想在循环中完成并为每个变量显示它,您的意思是为每个变量单独绘制一个图吗?plt是什么@因为plt是一个图书馆,我不能抱歉,我的名声很差。我是新来的@joe什么是plt@因为plt是一个图书馆,我不能抱歉,我的名声很差。我是新来的@Joe