pandas中groupby分组后数据调用

本文介绍了如何在pandas中利用groupby函数对苹果产地数据进行分组,并通过get_group获取特定产地的数据,使用ngroup添加组别信息,以及利用describe展示各组的统计描述特征。

已知我国苹果主要产地为山东烟台、陕西洛川、新疆阿克苏、甘肃天水、山西临猗。现在假设某岗平台上苹果店铺为356家,平均销量为x吨。构建数据集如下:

shop_id = np.arange(356)
product_ = np.random.choice(["山东烟台", "陕西洛川", "新疆阿克苏", "甘肃天水", "山西临猗"], 356)
quantity = np.random.choice(np.arange(1, 10), 356)
苹果 = pd.DataFrame({"店铺id": shop_id, "产地": product_, "销量": quantity})
苹果.head()
店铺id产地销量
00甘肃天水6
11陕西洛川7
22甘肃天水2
33新疆阿克苏3
4

4

山东烟台

5

根据groupby函数对产地进行分组

groups_var = 苹果.loc[:, ["产地", "销量"]].groupby(["产地"])

当调用groups_var.groups.keys()后,可以得到分组类别信息:

> groups_var.groups.keys()
dict_keys(['山东烟台', '山西临猗', '新疆阿克苏', '甘肃天水', '陕西洛川'])

当调用groups_var.get_group("山东烟台"),可以得到山东烟台的原始数据:

> groups_var.get_group("山东烟台").head(3)
产地 	销量
4 	山东烟台 	5
9 	山东烟台 	9
14 	山东烟台 	8

当调用groups_var.ngroup()后,可以对原始数据添加所属组别信息:

> groups_var.ngroup().unique()
array([3, 4, 2, 0, 1], dtype=int64)

当调用groups_var.describe()后,可以得到每组统计描述特征:

> groups_var.describe().round(2)
 	销量
	count 	mean 	std 	min 	25% 	50% 	75% 	max
产地 								
山东烟台 	76.0 	5.50 	2.53 	1.0 	4.0 	6.0 	8.00 	9.0
山西临猗 	65.0 	5.40 	2.37 	1.0 	4.0 	5.0 	7.00 	9.0
新疆阿克苏 	72.0 	5.18 	2.57 	1.0 	3.0 	5.0 	7.25 	9.0
甘肃天水 	63.0 	5.70 	2.34 	1.0 	4.0 	6.0 	8.00 	9.0
陕西洛川 	80.0 	4.28 	2.76 	1.0 	2.0 	3.0 	6.25 	9.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值