我正在寻找一个优化的Python工具来执行一个我一遍又一遍做的数组操作任务。如果这个工具已经存在,例如在numpy或pandas中,我宁愿实现它,而不是继续使用我自己的cythonized循环。
我有两个相同长度的数组A和B,存储一些关于分组数据的数据。数组A的第i个条目告诉我第i组的某些属性;数组B的第j个条目告诉我第j组有多少成员;A存储浮点数,B存储整数。因此,为了明确起见,如果A [5] = 100.4&B [5] = 7,则第5组的质量等于100.4,并且该组有7个成员。
我的目标是创建一个新的浮点数数组C,其长度为B.sum(),这是上述数据集的扩展。因此,C [0:B [0]] = A [0],C [B [0]:B [1]] = A [1],依此类推。是否有一种优化的解决方案可以在现有库(如pandas)中执行此操作?
我的现有解决方案是初始化一个空数组C,然后对A的元素运行一个for循环,索引C的公共元素如上所述。我一直在用cython编写和编译for循环,以提高速度。但是,这个特定的操作是我的代码中最大的瓶颈,而且在处理表格数据时似乎是一个非常常见的数组操作,因此我想知道是否已经有一个高度优化的算法来执行它。
我有两个相同长度的数组A和B,存储一些关于分组数据的数据。数组A的第i个条目告诉我第i组的某些属性;数组B的第j个条目告诉我第j组有多少成员;A存储浮点数,B存储整数。因此,为了明确起见,如果A [5] = 100.4&B [5] = 7,则第5组的质量等于100.4,并且该组有7个成员。
我的目标是创建一个新的浮点数数组C,其长度为B.sum(),这是上述数据集的扩展。因此,C [0:B [0]] = A [0],C [B [0]:B [1]] = A [1],依此类推。是否有一种优化的解决方案可以在现有库(如pandas)中执行此操作?
我的现有解决方案是初始化一个空数组C,然后对A的元素运行一个for循环,索引C的公共元素如上所述。我一直在用cython编写和编译for循环,以提高速度。但是,这个特定的操作是我的代码中最大的瓶颈,而且在处理表格数据时似乎是一个非常常见的数组操作,因此我想知道是否已经有一个高度优化的算法来执行它。