首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中以一种不完全丑陋的方式随机洗牌一个矩阵

问在python中以一种不完全丑陋的方式随机洗牌一个矩阵
EN

Stack Overflow用户
提问于 2020-05-24 10:52:44
回答 2查看 50关注 0票数 0

对于DataScience应用程序,在开始处理矩阵之前,我需要随机调整矩阵的行数。

有没有一种方法可以做到这一点,而不是简单地获取索引,打乱索引,然后将打乱后的索引传递给矩阵?如下所示:

代码语言:javascript
复制
    indx = np.asarray(list(range(0, data.shape[0], 1)))
    shufIndx = shuffle(indx)
    data = data[shufIndx,:]
    return (data)

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2020-05-24 11:00:17

使用python (而不是numpy),您可以直接random.shuffle行:

代码语言:javascript
复制
import random

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

print(matrix)
random.shuffle(matrix)   # random.shuffle mutates the input and returns None
print(matrix)

示例输出:

代码语言:javascript
复制
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
[[7, 8, 9], [1, 2, 3], [4, 5, 6]]
票数 0
EN

Stack Overflow用户

发布于 2020-05-24 14:41:35

numpy.random.shuffle()应该可以做到这一点

代码语言:javascript
复制
import numpy as np
mat = np.array(range(16)).reshape(4,4)

print(mat,'\n')

np.random.shuffle(mat) 

print(mat)

输出:

代码语言:javascript
复制
[[ 0  1  2  3]
[ 4  5  6  7]
[ 8  9 10 11]
[12 13 14 15]]

[[12 13 14 15]
[ 4  5  6  7]
[ 0  1  2  3]
[8  9 10 11]] 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61981070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档