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

如何按列对nx3 numpy数组进行排序,但它会记住该行中的数据?

对于一个nx3的numpy数组,可以使用numpy的argsort函数按列进行排序,并利用numpy的切片功能实现记录该行中的数据。

具体步骤如下:

  1. 导入numpy库:
代码语言:txt
复制
import numpy as np
  1. 创建一个nx3的numpy数组:
代码语言:txt
复制
array = np.array([[2, 1, 3], [5, 4, 6], [8, 7, 9]])
  1. 使用argsort函数按列排序数组:
代码语言:txt
复制
sorted_indices = np.argsort(array[:, 0])  # 按第一列排序,返回排序后的索引
sorted_array = array[sorted_indices]  # 根据索引重新排序数组
  1. 使用切片操作保留原始行数据:
代码语言:txt
复制
sorted_array[:, 0] = array[:, 0]  # 保留第一列原始数据

最终,sorted_array中的数据按第一列进行排序,并且保留了原始行中的数据。

下面是以上操作的完整代码示例:

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

array = np.array([[2, 1, 3], [5, 4, 6], [8, 7, 9]])

sorted_indices = np.argsort(array[:, 0])
sorted_array = array[sorted_indices]

sorted_array[:, 0] = array[:, 0]

print(sorted_array)

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器:提供高性能、稳定可靠、安全高效的云服务器,适用于各种应用场景。
  • 腾讯云对象存储 COS:提供海量、安全、低成本的云存储服务,适用于存储和处理各种非结构化数据。
  • 腾讯云人工智能:提供丰富的人工智能服务,包括图像识别、语音识别、自然语言处理等,可应用于各行各业的智能化需求。
  • 腾讯云区块链服务 TBCAS:提供安全、高效、易用的区块链服务,适用于各种场景,如供应链金融、溯源管理等。

注意:本回答所提供的是腾讯云的相关产品,其他品牌商的产品请自行参考其官方文档。

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

相关·内容

  • 《利用Python进行数据分析·第2版》 附录A NumPy高级应用A.1 ndarray对象的内部机理A.2 高级数组操作A.3 广播A.4 ufunc高级应用A.5 结构化和记录式数组A.6 更多

    在这篇附录中,我会深入NumPy库的数组计算。这会包括ndarray更内部的细节,和更高级的数组操作和算法。 这章包括了一些杂乱的章节,不需要仔细研究。 A.1 ndarray对象的内部机理 NumPy的ndarray提供了一种将同质数据块(可以是连续或跨越)解释为多维数组对象的方式。正如你之前所看到的那样,数据类型(dtype)决定了数据的解释方式,比如浮点数、整数、布尔值等。 ndarray如此强大的部分原因是所有数组对象都是数据块的一个跨度视图(strided view)。你可能想知道数组视图arr[

    07

    学习笔记 | 吴恩达之神经网络和深度学习

    机器学习 机器学习研究的是计算机怎样模拟人类的学习行为,以获取新的知识或技能,并重新组织已有的知识结构使之不断改善自身。简单的说,就是计算机从数据中学习规律和模式,以应用在新数据上做预测的任务。 深度学习概念 深度学习指的是训练神经网络,有时候规模很大。 线性回归 回归函数,例如在最简单的房价预测中,我们有几套房屋的面积以及最后的价格,根据这些数据来预测另外的面积的房屋的价格,根据回归预测,在以房屋面积为输入x,输出为价格的坐标轴上,做一条直线最符合这几个点的函数,将它作为根据面积预测价格的根据,这条线就是

    04

    Python数据分析(中英对照)·Slicing NumPy Arrays 切片 NumPy 数组

    It’s easy to index and slice NumPy arrays regardless of their dimension,meaning whether they are vectors or matrices. 索引和切片NumPy数组很容易,不管它们的维数如何,也就是说它们是向量还是矩阵。 With one-dimension arrays, we can index a given element by its position, keeping in mind that indices start at 0. 使用一维数组,我们可以根据给定元素的位置对其进行索引,记住索引从0开始。 With two-dimensional arrays, the first index specifies the row of the array and the second index 对于二维数组,第一个索引指定数组的行,第二个索引指定行 specifies the column of the array. 指定数组的列。 This is exactly the way we would index elements of a matrix in linear algebra. 这正是我们在线性代数中索引矩阵元素的方法。 We can also slice NumPy arrays. 我们还可以切片NumPy数组。 Remember the indexing logic. 记住索引逻辑。 Start index is included but stop index is not,meaning that Python stops before it hits the stop index. 包含开始索引,但不包含停止索引,这意味着Python在到达停止索引之前停止。 NumPy arrays can have more dimensions than one of two. NumPy数组的维度可以多于两个数组中的一个。 For example, you could have three or four dimensional arrays. 例如,可以有三维或四维数组。 With multi-dimensional arrays, you can use the colon character in place of a fixed value for an index, which means that the array elements corresponding to all values of that particular index will be returned. 对于多维数组,可以使用冒号字符代替索引的固定值,这意味着将返回与该特定索引的所有值对应的数组元素。 For a two-dimensional array, using just one index returns the given row which is consistent with the construction of 2D arrays as lists of lists, where the inner lists correspond to the rows of the array. 对于二维数组,只使用一个索引返回给定的行,该行与二维数组作为列表的构造一致,其中内部列表对应于数组的行。 Let’s then do some practice. 然后让我们做一些练习。 I’m first going to define two one-dimensional arrays,called lower case x and lower case y. 我首先要定义两个一维数组,叫做小写x和小写y。 And I’m also going to define two two-dimensional arrays,and I’m going to denote them with capital X and capital Y. Let’s first see how we would access a single element of the array. 我还将定义两个二维数组,我将用大写字母X和大写字母Y表示它们。让我们先看看如何访问数组中的单个元素。 So just typing x square bracket 2 gives me the element located at position 2 of x. 所以只要输入x方括号2,就得到了位于x的位置2的元素。 I can also do slicing. 我也会做切片。 So

    02
    领券