不带逗号地打乱numpy数组

0 投票
1 回答
907 浏览
提问于 2025-04-18 05:49

我有一个numpy数组。

[['5.1' '3.5' '1.4' '0.2' 'Iris-setosa']
 ['4.9' '3.0' '1.4' '0.2' 'Iris-setosa']
 ['5.6' '3.0' '4.5' '1.5' 'Iris-versicolor']
 ['5.8' '2.7' '4.1' '1.0' 'Iris-versicolor']
 ['6.2' '3.4' '5.4' '2.3' 'Iris-virginica']
 ['5.9' '3.0' '5.1' '1.8' 'Iris-virginica']]

我该怎么打乱它的行呢?

我试过用 numpy.random.shuffle(),但是它返回了 None,可能是因为缺少逗号。

1 个回答

2

numpy.random.shuffle 是一个用来打乱数组顺序的工具,它的工作方式是直接在原来的数组上进行修改,也就是说它不会返回一个新的数组,而是把原来的数组打乱后直接改变它的内容,返回的结果是 None

import numpy as np

x = np.arange(9).reshape((3,3))
print(x)
# [[0 1 2]
#  [3 4 5]
#  [6 7 8]]

np.random.shuffle(x)
print(x)
# [[3 4 5]
#  [0 1 2]
#  [6 7 8]]

撰写回答