当前位置: 首页 > 面试题库 >

仅按行进行整洁的随机多维数组,保持列顺序不变

齐雅畅
2023-03-14
问题内容

如何仅在Python中按行对多维数组进行混排(因此,请勿对列进行混排)。

我正在寻找最有效的解决方案,因为我的矩阵非常庞大。 是否还可以在原始阵列上高效执行此操作(以节省内存)?

例:

import numpy as np
X = np.random.random((6, 2))
print(X)
Y = ???shuffle by row only not colls???
print(Y)

我现在期望的是原始矩阵:

[[ 0.48252164  0.12013048]
 [ 0.77254355  0.74382174]
 [ 0.45174186  0.8782033 ]
 [ 0.75623083  0.71763107]
 [ 0.26809253  0.75144034]
 [ 0.23442518  0.39031414]]

输出将行而不是col随机播放,例如:

[[ 0.45174186  0.8782033 ]
 [ 0.48252164  0.12013048]
 [ 0.77254355  0.74382174]
 [ 0.75623083  0.71763107]
 [ 0.23442518  0.39031414]
 [ 0.26809253  0.75144034]]

问题答案:

numpy.random.shuffle()是为了:

>>> X = np.random.random((6, 2))
>>> X
array([[ 0.9818058 ,  0.67513579],
       [ 0.82312674,  0.82768118],
       [ 0.29468324,  0.59305925],
       [ 0.25731731,  0.16676408],
       [ 0.27402974,  0.55215778],
       [ 0.44323485,  0.78779887]])

>>> np.random.shuffle(X)
>>> X
array([[ 0.9818058 ,  0.67513579],
       [ 0.44323485,  0.78779887],
       [ 0.82312674,  0.82768118],
       [ 0.29468324,  0.59305925],
       [ 0.25731731,  0.16676408],
       [ 0.27402974,  0.55215778]])


 类似资料:
  • 问题内容: 请原谅我这是多余的还是超基本的。我要从R进入Python / Numpy,并且很难在脑海里翻转事物。 我有一个维数组,我想使用索引值的另一个n维数组进行排序。我知道我可以将其包装成一个循环,但是似乎应该有一种非常简洁的Numpyonic方式将其击败并提交。这是设置n = 2的问题的示例代码: 所以现在我有一个2 x 5的随机数数组和2 x 5的索引。我已经阅读了约10次帮助,但显然我的

  • 问题内容: 如何按“订单”键的值对该数组排序?即使这些值当前是连续的,也不会总是如此。 问题答案: 尝试使用usort,如果您仍然使用PHP5.2或更早版本,则必须首先定义一个排序函数: 从PHP 5.3开始,您可以使用匿名函数: 最后,在PHP 7中,您可以使用spaceship运算符: 要将其扩展到多维排序,如果第二个/第三个排序元素为零,请参考第二个/第三个排序元素-下文将详细说明。您也可以

  • 问题内容: 我使用以下代码从指定范围获取随机值 这是可行的,并在您调用此函数时在指定范围内提供3个值的数组,但是当我需要再次调用它时,这里的问题变得更加棘手,请忽略从提供的数字中排除 先前 提供的数字(例如下次不提供这些数字时提供10,11,12 …),还有更好的方法吗?我尝试使用回拨电话,但迷路了:(,任何想法该怎么做? 问题答案: 一种方法是创建一个数组来存储现有选择,将选定的元素推入数组,检

  • 本文向大家介绍按PHP中的子值对php多维数组进行排序,包括了按PHP中的子值对php多维数组进行排序的使用技巧和注意事项,需要的朋友参考一下 'usort'函数可用于对PHP中的多维数组进行排序。它根据用户定义的条件对数组进行排序- 示例 输出结果 这将产生以下输出- 声明一个包含4个元素的数组,并将此数组传递给usort函数,并在元素上调用用户定义的“ my_sort”函数以确保排序以升序进行

  • 问题内容: 我正在遍历几个项目,并为每个项目提出ajax请求(使用jQuery)。我希望它们独立执行,但要以它们被调用的顺序而不是它们返回的顺序填充到DOM中(由于某些原因,某些请求比其他请求花费的时间更长)。有关此类事情的最佳做法的任何技巧? 问题答案: 最终的答案是一个名为ajaxManager的jQuery插件。这正是我需要的: https://github.com/aFarkas/Ajax