python - NumPy random.shuffle 函数

标签 python random numpy shuffle

我在使用 numpy.random.shuffle 函数时遇到了一些奇怪的事情

from numpy import arange
from numpy.random import shuffle

a = arange(5)
b = a
c = a[:]

shuffle(c)

ab 都随c 变化。其实不管我shuffle()是哪个变量,其他两个都跟着变。我想当我使用 slice copy 时,原始变量应该是独立的。我错过了什么?如何保护原始变量不被更改?

最佳答案

根据Basic slicing documentation :

All arrays generated by basic slicing are always views of the original array.

使用ndarray.copynumpy.copy获取副本。

关于python - NumPy random.shuffle 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17637327/

相关文章:

python - 无法在 Python 中显示 TreeView

python - 比较 scipy、torch 和 Fourier 周期卷积时的不一致

java - 我可以使用 JNI 调用 Python 库吗?

python - 将一行的所有值作为列表添加到新列中

c - 如何在 LCD 上绘制 Sprite 的区域设置边界

c# - 使用 RNGCryptoServiceProvider 生成随机字符串

string - 如何打乱字符串中的字符?

numpy - 减少用于特征生成的预训练深度学习模型的大小

python - Pandas 中的随机数据 block

python - Scikit-learn χ²(卡方)统计量和相应的列联表