我的代码目前如下:
z = np.diagflat(c).dot(D).dot(x);
idxN, idxP = z<0, z>=0 # logical indexing
y1 = [-1 + np.exp(x)/(1+np.exp(x)) for x in z[idxN]]
y1 = np.array(y1) # Size (504,)
y2 = [-np.exp(-x)/(1+np.exp(-x)) for x in z[idxP]]
y2 = np.array(y2) # Size (496,)
现在我试图形成一个(1000,)listy
,它将根据索引是+/-合并y1还是y2。在
我猜列表理解是最简单的,但我在表单上挣扎。谢谢你的意见。在
最简单的方法应该是使用索引来设置值,然后根据需要将其展平:
PS:当您将ndarray子集化以创建另一个1D数组时,您将丢失原始数组的索引信息。因此,对于列表理解,您可能需要同时在新创建的1D数组和原始的ndarray上枚举。在
相关问题 更多 >
编程相关推荐