导入需要作图的CSV数据
df = pd.read_csv('data.zip',encoding='gbk')
数据描述
需求:对根据月份对数据进行分组后,作箱型图
将月份提取出来,并分组
df['月份'] = df['时间'].str[:7]
gro = df.groupby('月份')
for key,value in gro:
print(key,value.shape)
作箱型图
for key,value in gro:
print(key)
value = value['1'].reset_index(drop=True)
result_month = pd.concat([result_month,value],axis=1,ignore_index=True)
result_month.columns = ['2023年1月','2023年2月','2023年3月','2023年4月','2023年5月','2023年6月','2023年7月','2023年8月','2023年9月','2023年10月']
cols = ['2023年1月','2023年2月','2023年3月','2023年4月','2023年5月','2023年6月','2023年7月','2023年8月','2023年9月','2023年10月']
figsize = 15, 5
figure, ax = plt.subplots(figsize=figsize)
#画箱体图
result_month.boxplot(
labels = cols,
#notch = True,
patch_artist= True,
widths= 0.2,
showfliers=False, #异常值不显示
#showmeans= True,
#meanline= True,
sym = '.',
# meanprops={'marker':'+', #设置均值的属性
# 'markerfacecolor':'k',
# 'markeredgecolor':'k',
# 'markersize':5
# },
boxprops = {'color':'black', #设置箱体的属性
'facecolor':'#9999ff'
#'facecolor':'blue'
},
# flierprops = {'marker':'.', #设置异常值的属性
# #'markerfacecolor':'red',
# 'color':'black'
# },
medianprops = {'color':'black',
'linestyle':'--', #设置中位数的属性
'linewidth':2
}
)
plt.ylim(0,5) #纵坐标的范围
plt.grid(axis='y',ls='--',alpha=0.5) #显示网格线
plt.tight_layout()
plt.show()