Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用较少的内存,沿特定轴按另一个数组对numpy数组进行排序

使用较少的内存,沿特定轴按另一个数组对numpy数组进行排序
EN

Stack Overflow用户
提问于 2011-05-28 14:16:55
回答 1查看 2.1K关注 0票数 1

从对this question的回答中,我了解了如何按照一个数值数组a的值对另一个数值数组b的条目进行排序。

但是,这种方法需要创建几个与a大小相同的中间数组,每个数组对应于a的每个维度。我的一些数组非常大,这就变得不方便了。有没有一种方法可以用更少的内存来实现同样的目标?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-28 14:38:14

记录数组能满足您的需求吗?

代码语言:javascript
运行
AI代码解释
复制
>>> a = numpy.zeros((3, 3, 3))
>>> a += numpy.array((1, 3, 2)).reshape((3, 1, 1))
>>> b = numpy.arange(3*3*3).reshape((3, 3, 3))
>>> c = numpy.array(zip(a.flatten(), b.flatten()), dtype=[('f', float), ('i', int)]).reshape(3, 3, 3)
>>> c.sort(axis=0)
>>> c['i']
array([[[ 0,  1,  2],
        [ 3,  4,  5],
        [ 6,  7,  8]],

       [[18, 19, 20],
        [21, 22, 23],
        [24, 25, 26]],

       [[ 9, 10, 11],
        [12, 13, 14],
        [15, 16, 17]]])

生成耦合数组的一种更简洁的方法:

代码语言:javascript
运行
AI代码解释
复制
>>> c = numpy.rec.fromarrays([a, b], dtype=[('f', float), ('i', int)])

代码语言:javascript
运行
AI代码解释
复制
>>> c = numpy.rec.fromarrays([a, b], names='f, i')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6162172

复制
相关文章
PHP按特定key进行多维数组排序
实际上array_multisort 是PHP内置的方法,官方有说明: PHP - array_multisort
雪碧君
2023/02/15
2.8K0
使用 Python 对波形中的数组进行排序
假设我们采用了一个未排序的输入数组。我们现在将对波形中的输入数组进行排序。数组 'arr[0..n-1]' 以波形排序,如果 arr[0] >= arr[1] <= arr[2] >= arr[3] <= arr[4] >= .....
很酷的站长
2023/02/22
7.5K0
使用 Python 对波形中的数组进行排序
使用asort函数对PHP数组进行升序排序
PHP是一门功能强大的语言,数组是PHP中十分常用的数据结构之一。在实际开发中,经常需要对数组进行排序。PHP提供了多个函数用于对数组进行排序,其中asort函数可以实现对数组进行升序排序。
很酷的站长
2023/08/25
7420
使用asort函数对PHP数组进行升序排序
数组按指定顺序排序
数组排序可以直接使用 sort() 方法,可以对数组按规律排序。 但如果指定一个没有规律的顺序进行排序呢? 同样可以使用  sort() 方法: const data = [   { name: '张三', code: 'zs' },   { name: '王五', code: 'ww' },   { name: '赵七', code: 'zq' }, ]; data.sort((star, next) => {   const sortList = ['zq', 'zs', 'ww']   return 
德顺
2022/06/12
2.9K0
php 数组 按 指定的 键名 排序
array为需要排序的数组,key为排序的键名 function arraySortByKey($array, $key, $asc = true) { $result
用户8099761
2023/05/11
3.5K0
LeetCode - 按奇偶排序数组
LeetCode第905题,难度简单。这题很容易联想到之前发过的LeetCode - 按奇偶排序数组②
晓痴
2019/08/01
1.4K0
LeetCode - 按奇偶排序数组
按奇偶排序数组II
力扣题目链接:https://leetcode-cn.com/problems/sort-array-by-parity-ii/
代码随想录
2021/10/19
1.2K0
使用 Python 按行和按列对矩阵进行排序
假设我们采用了一个输入的 MxM 矩阵。我们现在将使用嵌套的 for 循环对给定的输入矩阵进行逐行和按列排序。
很酷的站长
2023/02/22
6.6K0
使用 Python 按行和按列对矩阵进行排序
LeetCode - 按奇偶排序数组②
这题是LeetCode第N次周赛的题目,题号是922,难度是Easy,当时处于疯狂刷通过率高的题目,然后提高自己的信心的地步...看提交记录,应该是一个月三周前提交的了。
晓痴
2019/07/24
1.4K0
LeetCode - 按奇偶排序数组②
按奇偶排序数组II
给定一个非负整数数组A,A中一半整数是奇数,一半整数是偶数。 对数组进行排序,以便当A[i]为奇数时,i也是奇数;当A[i]为偶数时,i也是偶数。 你可以返回任何满足上述条件的数组作为答案。
WindRunnerMax
2020/11/13
1.2K0
NumPy中的广播:对不同形状的数组进行操作
NumPy是用于Python的科学计算库。它是数据科学领域中许多其他库(例如Pandas)的基础。
deephub
2021/01/12
3.2K0
NumPy中的广播:对不同形状的数组进行操作
使用数组作为索引遍历numpy数组
python使用数组作为索引遍历数组 import numpy as np a=np.arange(0,5) print(a) # [0 1 2 3 4] b=np.arange(0,10).reshape(5,2) print(b) # [[0 1] # [2 3] # [4 5] # [6 7] # [8 9]] # 将一维数组作为二维数组的索引 c0=b[a][:,0] print(c0) # [0 2 4 6 8] c1=b[a][:,1] print(c1) # [1 3 5 7 9
演化计算与人工智能
2020/08/14
2.7K0
python中选择排序法对数组进行升序排序_sort函数对字符串数组排序
先说一下三者的区别 sort, sorted 是用在 list 数据类型中的排序方法 argsort 是用在 numpy 数据类型中的排序方法( numpy 里也有一个 sort 方法,下面会讲)
全栈程序员站长
2022/09/22
3.1K0
NumPy 笔记(超级全!收藏√)
NumPy 教程NumPy Ndarray 对象NumPy 数据类型数据类型对象 (dtype)
用户7886150
2021/01/08
4.8K0
Java 对象数组按某个属性排序
新建一个Student对象 public class Student { private String name; private double score; public Student(String name,double score) { super(); this.name = name; this.score = score; } public String getName() { re
赵哥窟
2021/12/16
3K0
Numpy 简介
NumPy是Python中科学计算的基础软件包。 它是一个提供多了维数组对象,多种派生对象(如:掩码数组、矩阵)以及用于快速操作数组的函数及API, 它包括数学、逻辑、数组形状变换、排序、选择、I/O 、离散傅立叶变换、基本线性代数、基本统计运算、随机模拟等等。
iOSDevLog
2019/02/20
4.9K0
905. 按奇偶排序数组
给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。
Michel_Rolle
2021/02/03
8.2K0
Python:Numpy详解
NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。
用户7886150
2021/01/03
3.7K0
TutorialsPoint NumPy 教程
NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。
ApacheCN_飞龙
2022/12/01
4K0
TutorialsPoint NumPy 教程
Numpy数组
Numpy 中 axis = n 对应 ndarray 的第 nnn 层 [],从最外层的 axis = 0,逐渐往内层递增。
hotarugali
2022/03/03
8420
Numpy数组

相似问题

Numpy:沿轴按索引数组进行选择

24

按列而不是轴对Numpy数组进行排序

10

按其他数组对numpy数组进行排序

215

如何按轴对numpy数组进行排序并保留行

10

numpy:沿轴展开数组

32
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档