绘制多个box箱型图

该篇文章介绍了如何使用Python的NumPy库生成随机数据,并通过数据对齐操作,根据标签将数据分组。然后,使用matplotlib绘制箱型图来比较不同标签下的数据特征分布,展示了数据统计和可视化的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.首先生成随机数据

import random 
# 创建一个153629行,13列的数据,
random_data = np.random.randn(153629, 13)
#创建数据标签,后续将根据数据标签绘制不同的箱型图
label = [0,1,2,3]
labels = np.asarray(random.choices(label,k =153629))
label_reshape = labels[:,np.newaxis]
将数据与标签在第二维度上进行拼接
data = np.hstack((random_data,label_reshape))
#data.shape
#为数据添加列标签,并转换为dataframe格式
data_list = ['red','gre','blu','x','y','mean','Variance','Homogeneity','Contrast','Dissimilarity','Entropy','Second','Correlation','label']
img_feature = pd.DataFrame(data,columns=data_list)
img_feature.head(5)

np.hstack 是 NumPy(Numerical Python 的简称)中的一个函数,用于水平堆叠数组(即沿第二个轴,也就是列方向堆叠)。如果传入的数组不是一维的,那么 np.hstack 会将它们沿着第二个轴(索引为1的轴)堆叠起来。

2. 数据对齐

这一步本来是为方便将数据按照不同的数据类型与标签进行分类(例如:分别提取出四类标签分别对应means数据,并将其合并为一个新的DF-Datafreame数据)

min_length = min([img_feature[img_feature['label']==0].shape[0],img_feature[img_feature['label']==1].shape[0],img_feature[img_feature['label']==2].shape[0],img_feature[img_feature['label']==3].shape[0]])
print(min_length)

根据min_length的数量,利用位置索引从不同标签数据中随机采样min_lengh个样本数据
利用bool索引对

# 从每个类别数据随机选取
label_0_len = img_feature[img_feature['label']==0].shape[0]
# 获取每个标签类型的长度
label_1_len = img_feature[img_feature['label']==1].shape[0]

label_2_len = img_feature[img_feature['label']==2].shape[0]

label_3_len = img_feature[img_feature['label']==3].shape[0]

# 标签0
print("0标签:")
label0_bool_index = create_bool(label_0_len,min_length)
print("标签0数量",len(label0_bool_index))
print
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云朵不吃雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值