栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Numpy实现GroupBy

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Numpy实现GroupBy

# -*- coding: utf-8 -*-
import numpy as np

def groupby(arr, num, *function):
	tmp = arr[:,np.argsort(arr[num,:])]

	ll = []
	for i in range(len(arr)):
		ll.append(np.split(tmp[i,:], np.unique(tmp[num,:], return_index=True)[1])[1:])

	new = np.stack(ll, axis=1)
	res = np.transpose(np.asanyarray([(arr[0][0], *(function[f](arr[f+1].astype(float)) for f in range(len(function)))) for arr in new]))

	return res
  • 函数接受三个参数,一个是需要分组的数组,一个是分组依据列的位置,还有一个是分组后聚合需要的操作(可以传入多个)
  • 先对依据列进行排序,然后分组,分组后对操作解包,分别应用到各个需要聚合的列
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/924067.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号