- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个功能是如何工作的?
import numpy as np
first_names = (5,5,5)
last_names = (3,1,2)
x = np.lexsort((first_names, last_names))
print(x)
它给出输出 [1 2 0] 。我假设这两个列表是按变量last_names 排序的。如果是这样,数字2怎么会有索引0。2在1和3之间,所以我不明白这种排序是如何工作的。请解释一下。
最佳答案
本质上,np.lexsort((first_names, last_names))
表示:首先按 last_name
排序,然后按 first_name
排序
阅读documentation ,特别是位于“对两列数字进行排序:”下的示例,揭示了很多内容。本质上,您首先按 last_name
排序,这会重新排序,以便索引 1
(其值为 1)位于第一个,索引 2
(其值为值为 2) 是第二个,索引 0
(其值为 3)是第三个。按照此顺序,排序后的 last_name
最终为 (1,2,3)
,即已排序。然后,如果有任何平局,first_name
中相应的索引将成为平局打破者。
例如,考虑以下情况:
first_names = (5,5,4)
last_names = (3,1,1)
last_name
中的索引 1
和 2
之间存在联系(它们的值都是 1),该联系将被它们的值打破first_name
中的相应索引。在 first_name
的索引 1
和 2
处,索引 2
(值 4)低于索引 1
(值 5),所以它将排在第一位。因此,生成的 lexsort
将是 [2,1,0]
:
np.lexsort((first_names, last_names))
# array([2, 1, 0])
关于python - np.lexsort 背后的排序逻辑是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49460429/
我有一些数据想要排序,但此方法使用 numpy.lexsort() data = np.zeros(shape=(n,6)) # some routine that partially populat
本文实例讲述了Python实现二维数组按照某行或列排序的方法。分享给大家供大家参考,具体如下: lexsort支持对数组按指定行或列的顺序排序;是间接排序,lexsort不修改原数组,返回索引。
我有一个带有 x 列的 numpy 数组,我想按多列排序(其中一些可能是 np.str_ 类型。我知道我可以做到这使用 np.lexsort。 有没有办法指定每个排序列的升序/降序? 示例:我知道我可
这个功能是如何工作的? import numpy as np first_names = (5,5,5) last_names = (3,1,2) x = np.lexsort((first_name
您好,我想使用 lexsort 排序一个 numpy.array。 import numpy as np surnames = ['Hertz', 'Galilei', 'Hertz'] names
我有一个要排序的数组。有些条目是字符串,因此 numpy 将所有内容都视为字符串(包括数字)。总的来说这很好,我实际上在几个地方利用了它,但是在尝试对其进行排序时会导致一些问题。 基本上,当字符串长度
我有一组制表符分隔的文件,我必须阅读它们,将它们用作 pandas 数据框,对它们进行一大堆操作,然后将它们合并回一个 excel 文件,代码太长了我将讨论其中有问题的部分 我正在解析的选项卡文件包含
假设我用 pandas 构建了一个具有多索引列的数据框: mi = pd.MultiIndex.from_product([['trial_1', 'trial_2', 'trial_3']
我在三个维度上收集了 N 个点。它们存储为 np.array,形状为 (N,3)。所有点都不同,任意两点之间的最小距离为 ~1e-5。我正在寻找一种方法来获得迭代这些点的顺序,该顺序既独立于它们在 n
我正在编写一个程序,根据特定公司内氨基酸的能量值(value)对氨基酸名称进行排序。 我已将相关数据提取到以下 numpy 数组中。 我尝试过这个 In[37]: Data = np.array([
我正在使用 df.loc[(key1, key2)] 为大型多索引 Pandas df 建立索引。有时我会得到一个系列(如预期的那样),但有时我会得到一个数据框。我试图隔离导致后者的情况,但到目前为止
这个问题部分是为了帮助我理解多索引上下文中的词法排序。 假设我有一些 MultiIndexed DataFrame df,对于我想使用的索引: a = (1, 1, 1) 所以要从我写的数据框中提取值
考虑数组a np.random.seed([3,1415]) a = np.random.randint(10, size=(5, 4)) a array([[0, 2, 7, 3],
我有下面这行代码 end_df['Soma Internet'] = end_df.iloc[:,end_df.columns.get_level_values(1) == 'Internet'].
我是一名优秀的程序员,十分优秀!