python - 以相同顺序随机化 3 个独立向量

标签 python numpy vector

我想在 python 中以相同的顺序随机化三个单独的向量。 我的意思是这样的:

before randomizing:
a = [[1, ...],      b = [[1, ...],        c = [1, 
     [2, ...],           [2, ...],             2,
     [3, ...]]           [3, ...]]             3]

after randomizing:
a = [[2, ...],      b = [[2, ...],        c = [2, 
     [3, ...],           [3, ...],             3,
     [1, ...]]           [1, ...]]             1]

这只是数据的一个示例。这实际上是一个大数据集。 我知道我可以连接它们并进行随机化,但是有没有其他方法可以在不合并它们的情况下做到这一点,因为我需要在最后将它们分开。

最佳答案

您可以随机化它们的索引。

import numpy as np

# before randomizing:
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
b = np.array([1,2,3])

# randomize indexes
n = np.size(a,axis=0)
new_index = np.random.choice(n, size=n, replace=False)

# after randomizing (you may want a copy of them instead of a view):
a2 = a[new_index].copy()
b2 = b[new_index].copy()

关于python - 以相同顺序随机化 3 个独立向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63754549/

相关文章:

python - 按多列填充缺失的年份组并在 Pandas 中按顺序水平显示多列

Python,从列表中删除元素

java - 在java中将元素推送到Vector

c++ - 如何 std::find 使用比较对象?

python - 查找图像 channel PyTorch 的平均值和标准差

python - 循环数据帧以限制并求和另一个数据帧

python - 将组附加到 pandas 数据框时导致值错误

python - 重新排列基于python中列表的数组元素

python - 我怎样才能只得到 plt.imread 的 rgb?

c++ - 声明和访问在构造函数 c++ 中启动的二维 vector