首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在2Dnumpy数组中创建作为group-by样式查找的字典的最快方法?

在2D NumPy数组中创建作为group-by样式查找的字典的最快方法是使用numpy.unique函数和numpy.split函数结合。

首先,使用numpy.unique函数找到数组中的唯一值,并返回一个有序的数组。然后,使用numpy.split函数将原始数组拆分成多个子数组,其中每个子数组都包含相同的唯一值。接下来,使用字典推导式将唯一值作为键,将对应的子数组作为值创建字典。

下面是一个示例代码:

代码语言:txt
复制
import numpy as np

def create_groupby_dict(arr):
    unique_vals = np.unique(arr[:, 0])  # 找到第一列的唯一值
    split_arrs = np.split(arr[:, 1:], np.where(np.diff(arr[:, 0]) != 0)[0]+1)  # 根据第一列的唯一值进行拆分
    groupby_dict = {val: split_arr for val, split_arr in zip(unique_vals, split_arrs)}  # 创建字典
    return groupby_dict

# 示例用法
arr = np.array([[1, 2, 3],
                [1, 4, 5],
                [2, 6, 7],
                [2, 8, 9]])

result = create_groupby_dict(arr)
print(result)

输出结果为:

代码语言:txt
复制
{1: array([[2, 3],
           [4, 5]]), 
 2: array([[6, 7],
           [8, 9]])}

在这个例子中,我们创建了一个2D NumPy数组arr,并且以第一列的值进行分组。最终,我们得到一个字典,其中键为唯一的第一列的值,值为相应的子数组。

请注意,这种方法假设数组已经按照group-by的列进行排序。如果数组未排序,可以使用numpy.argsort函数对数组进行排序,以确保正确的分组。

这里没有提及任何云计算品牌商的相关产品和链接地址。如果您有关于其他云计算问题的咨询,欢迎继续提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

5分8秒

084.go的map定义

10分30秒

053.go的error入门

领券