gpt4 book ai didi

python - 从 np.array 生成成对列组合

转载 作者:太空宇宙 更新时间:2023-11-03 21:48:08 24 4
gpt4 key购买 nike

我有一个大小为 500 x 15 的 np.array。如何生成一个新的 np 数组,其中包含该数组中 2 列的所有可能的成对组合?

arr = [ [col1],[col2],[col3],...,[col14]]

我想要输出,以便它生成组合为

 [[col1],[col2]]
[[col1],[col3]]
.
.
[[col13],[col14]]

我找不到选择输出中所有列值的方法。对于具有 15 列的数组,应该有 N*(N-1),即 15 * 14 = 210 对。

最佳答案

您可以使用combinations从 itertools 选择所有唯一的一对列。

from itertools import combinations

np.random.seed(0)

arr = np.array(np.random.randn(2, 3))
>>> arr
array([[ 1.76405235, 0.40015721, 0.97873798],
[ 2.2408932 , 1.86755799, -0.97727788]])

>>> np.array([arr[:, [i, j]] for i, j in combinations(range(arr.shape[1]), 2)])
array([[[ 1.76405235, 0.40015721], # First and second column.
[ 2.2408932 , 1.86755799]],

[[ 1.76405235, 0.97873798], # First and third column.
[ 2.2408932 , -0.97727788]],

[[ 0.40015721, 0.97873798], # Second and third column.
[ 1.86755799, -0.97727788]]])

关于python - 从 np.array 生成成对列组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52322364/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com