使用Numpy打乱数组或打乱矩阵行

2023-05-12 14:05:47 数组 矩阵 打乱

numpy打乱数组或打乱矩阵行

使用numpy.random.shuffle函数,能够打乱ndarray对象的第一维度,对于数组来说,就是整体被打乱。

对于矩阵来说,第一维度行被打乱。可以在打乱训练数据或测试模型性能的时候使用。

  • Parameters: x: array_like
  • Returns: None

e.g.

>>> arr = np.arange(10)
>>> np.random.shuffle(arr)
>>> arr
[9, 1, 2, 7, 5, 3, 0, 8, 4, 6]

多维数组

>>> arr = np.arange(9).reshape((3, 3))
# array([[0, 1, 2],
#       [3, 4, 5],
#       [6, 7, 8]])
>>> np.random.shuffle(arr)
>>> arr
array([[0, 1, 2],
       [6, 7, 8],
       [3, 4, 5]])

numpy.random.shuffle打乱数组或者列表的顺序

numpy.random.shuffle

注:打乱数组时,只沿着多维数组的第一个轴移动数组。子数组的顺序改变了,但它们的内容保持不变.

shuffle(x)

        Modify a sequence in-place by shuffling its contents.
        This function only shuffles the array along the first axis of a
        multi-dimensional array. The order of sub-arrays is changed but
        their contents remains the same.
        Parameters
        ----------
        x : array_like
            The array or list to be shuffled.
        Returns
        -------
        None
        Examples
        --------
        >>> arr = np.arange(10)
        >>> np.random.shuffle(arr)
        >>> arr
        [1 7 5 2 9 4 3 6 0 8]
        Multi-dimensional arrays are only shuffled along the first axis:
        >>> arr = np.arange(9).reshape((3, 3))
        >>> np.random.shuffle(arr)
        >>> arr
        array([[3, 4, 5],
               [6, 7, 8],
               [0, 1, 2]])
"""

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

相关文章