可以使用seaborn库和matplotlib库来实现。以下是一个完整的代码示例:
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
# 创建示例数据
data = {
'Group': ['Group 1', 'Group 1', 'Group 1', 'Group 2', 'Group 2', 'Group 2'],
'Value': [10, 15, 13, 8, 12, 9]
}
df = pd.DataFrame(data)
# 使用seaborn库绘制分组箱线图
sns.boxplot(x='Group', y='Value', data=df)
# 计算平均值和偏差值
group_means = df.groupby('Group')['Value'].mean()
group_std = df.groupby('Group')['Value'].std()
# 添加平均值和偏差值到图表上
for i in range(len(group_means)):
plt.text(i, group_means[i], f'Mean: {group_means[i]:.2f}\nStd: {group_std[i]:.2f}', ha='center', va='bottom')
# 显示图表
plt.show()
这段代码使用seaborn库的boxplot()
函数绘制了一个分组箱线图,并使用pandas库创建了一个包含分组数据的DataFrame。然后,通过对DataFrame进行分组计算得到了每个组的平均值和标准差。最后,通过在图表上添加文本的方式将平均值和标准差显示在相应的箱线图上。
请注意,这里只是展示了一个简单的实现示例,实际使用中可能需要根据具体需求进行适当的修改和调整。对于更复杂的数据处理和可视化需求,可以进一步研究和利用Python中其他强大的数据分析和可视化库。
领取专属 10元无门槛券
手把手带您无忧上云