问题解释
我有四个numpy数组
n维的A
B/m尺寸
C/o尺寸
n维的D
我还有每个维度的索引列表
Aindexes = Ia[Ia1, Ia2, … , Ian]
Bindexes = Ib[Ib1,Ib2, …. , Ibm]
Cindexes = Ic[Ia1, Ic1, Ic2, …. , Ico]
Dindexes = Ia[Ia1, Ia2, … Ian]
我需要执行三个操作,但我需要它根据索引的匹配而有不同的行为:
R = A * B (all different indexes) =
RIndexes [Ia1, Ia2, … , Ian, Ib1, Ib2, … Ibm]
Rvalues it’s an elementwise multiplication of all elements
R = A * C (Some indexes equal)
RIndexes [Ia1, Ia2, … Iam, Ic1, Ic2, … Ico]
Rvalues it’s an elementwise multiplication of all elements not repeating the indexes that are equal
R = A * D (all equal indexes)
Rindexes [Ia1, Ia2, … Iam]
Rvalues = A[Iam] * D[Iamij]
二维表格的实例
A [Index1[3],Index2[2]] = [[1,2],[1,2],[1,2]]
B [Index4[3], Index3[2]] = [[3,4],[3,4],[3,4]]
C [Index1[3], Index3[2]] = [[3,4],[3,4],[3,4]]
D[Index1[3],Index2[2]] = [[3,4],[3,4],[3,4]]
A*B
一些指标的评价
R[Index1[3],Index2[2 = 1],Index4[3],Index3[2 = 1]] = [[3,3,3],[3,3,3],[3,3,3]]
R[Index1[3],Index2[2 = 2],Index4[3],Index3[2 = 1]] = [[6,6,6],[6,6,6],[6,6,6]]
R[Index1[3],Index2[2 = 1],Index4[3],Index3[2 = 2]] = [[4,4,4],[4,4,4],[4,4,4]]
R[Index1[3],Index2[2 = 2],Index4[3],Index3[2 = 2]] = [[8,8,8],[8,8,8],[8,8,8]]
总计
RIndex1[3],Index2[2],Index4[3],Index3[2]] = [[[[3,3,3],[3,3,3],[3,3,3]],[[4,4,4],[4,4,4],[4,4,4]]],[[[6,6,6],[6,6,6],[6,6,6]],[[[8,8,8],[8,8,8],[8,8,8]]]]]
A*C
一些指标的评价
R[Index1[3],Index2[2],Index3[2 = 1]] = [[3,6],[3,6],[3,6]]
R[Index1[3],Index2[2],Index3[2 = 2]] = [[4,8],[4,8],[4,8]]
总计
R[Index1[3],Index2[2],Index3[2]] = [[[3,6],[3,6],[3,6]]
,[[4,8],[4,8],[4,8]]]
A*D
R[Index1[3],Index2[2]] = [[1,4],[1,4],[1,4]]
我的问题是如何用m维的numpy实现这一点
目前没有回答
相关问题 更多 >
编程相关推荐