【发布时间】:2021-06-03 18:45:10
【问题描述】:
我是 Numpy / python 的新手,因此非常感谢任何帮助。
X 中的每一行都有 2 个数组。我必须从X2 获取值并将其附加到新数组,具体取决于X 数组值是0 还是1。
步骤:
- 查看
X中连续有多少个0或1 - 从
X2中的索引获取值 - 对于
X中的每个0,将X2中的值添加到arr0 - 对于
X中的每个1值,将X2中的值添加到arr1 - 遍历
X中的所有行
到目前为止,我有这个,但我不确定下一步该去哪里:
import numpy as np
X = np.array([[0,1,1,1,1],
[0,1,1,1,0]])
X2 = np.array([[0.2,0.5,0.5,0.5,0.5],
[0.3,0.6,0.6,0.6,0.3]])
index =[]
arr0 =[]
arr1=[]
for i in X:
getindex = np.take(probs, i) # get the value from index
index.append(getindex)
【问题讨论】:
-
您几乎可以在一行中完成此操作。
arr0 = X2[X==0]/arr1 = X2[X==1]上面写着“复制到 arr0 X2 中 X 为 0 的所有元素”。 -
类似
X2[np.where(X==1)]? -
@TimRoberts 谢谢你,但我现在需要确保我每行都这样做,而不是一次为整个数组。
标签: python arrays numpy loops indexing