python - 是否有用于 Python 数组同步改组的惯用语或 API?

标签 python arrays numpy tensorflow

NumPy(或者可能是 TensorFlow)中是否有 API 用于对多个数组(具有相同的第一维)执行同步改组?

例如,如果我有两个维度为 (N, A) 和 (N, B) 的数组,并且我想随机化每个数组的 N 个元素的顺序,同时保持第一个数组的元素和第二个。

是否有 API 或 Python 习惯用法来完成此操作?


请注意,将这些组合成一个包含 N 个元组的数组,然后用 random.shuffle 打乱顺序可能是我接受的一个选项,但我无法做到这一点工作:恢复原始数组是(尽可能接近我所管理的)困惑,因为 combined_array[:,0] 将具有以对象作为元素的维度 (N,),而不是维度 (N, A),除非是manually rebuilt with something like [x for x in combined_array[:,0]

最佳答案

permutation = numpy.random.permutation(N)

arr1_shuffled = arr1[permutation]
arr2_shuffled = arr2[permutation]

选择一个排列并将其用于两个数组。

关于python - 是否有用于 Python 数组同步改组的惯用语或 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45361118/

相关文章:

python - 为什么这个圆圈在碰撞时不会消失?

arrays - 检查非可选字符串数组在特定索引 Swift 处是否为空。不使用计数功能

python - 识别并替换 ndarray 中的行

python - 从 API 调用创建 Pandas 数据框

python - matplotlib 图形只显示点而不是线

python - 使用 cv2 调整图像大小

python - Django 如何调试查询集对象上的卡住保存操作

python - Matplotlib Colormaps——为每个图形/线条/主题选择不同的颜色

C++ &array 和 array 的用法有什么区别?

java - 从类名数组创建类