2024-06-02 05:37:03 发布
网友
我是Python新手,尝试从一个数据帧绘制多个箱线图
我的数据帧是:
Date A B C D E 01-Jan 1 3 6 6 1 01-Feb 2 4 7 4 2 01-Mar 3 5 8 2 9
我想创建5个箱线图,其中每个箱线图代表一个单独的字母。我怎样才能在一个图表中做到这一点?当我有100列时,是否有一种系统化的方法可以这样做,这样我就不必输入100次列名
您可以像下面这样使用^{}:
import pandas as pd import matplotlib.pyplot as plt df = pd.DataFrame({'Date': ['01-Jan', '01-Feb', '01-Mar'],'A': [1,2,3],'B': [3,4,5],'C': [6,7,8],'D': [6,4,2],'E': [1,2,9],}) df = df.drop('Date',1) df.boxplot(column=df.columns.tolist(), grid=False) plt.show()
输出:
或者,您可以将df转换为dict,然后按如下方式绘制boxplots:
df
dict
boxplots
import pandas as pd import matplotlib.pyplot as plt df = pd.DataFrame({'Date': ['01-Jan', '01-Feb', '01-Mar'],'A': [1,2,3], 'B': [3,4,5],'C': [6,7,8],'D': [6,4,2],'E': [1,2,9],}) df = df.drop('Date',1) dct = df.to_dict('list') labels = dct.keys() plt.boxplot(dct.values()) plt.xticks(range(1, len(labels) + 1), labels) plt.show()
导入包
import pandas as pd import matplotlib.pyplot as plt
创建箱线图的步骤(需要熊猫)
df.boxplot(column=list(df.columns)) # All columns df.boxplot(column=list(df[['B', 'D']].columns)) # Selected columns df.boxplot(column=list(df.drop(['B', 'D'], axis=1).columns)) # Drop columns
显示绘图(需要matplotlib)
plt.show()
链接以获取更多信息https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.boxplot.html
您可以像下面这样使用^{} :
输出:
或者,您可以将
df
转换为dict
,然后按如下方式绘制boxplots
:输出:
导入包
创建箱线图的步骤(需要熊猫)
显示绘图(需要matplotlib)
链接以获取更多信息
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.boxplot.html
相关问题 更多 >
编程相关推荐