【发布时间】:2020-12-04 04:35:15
【问题描述】:
我有两个 2D numpy nd.array,看起来像这样:
array([[(8.740896690597141, 8.876692713421095, 9.00851158974712, 9.145444068354191, 9.28408129961672, 9.426695633486075, 9.566468862997622, 9.70794682093236, 9.851129327791336, 9.990902871495557, 10.129539951526514, 10.265904353744476, 10.40454167736898, 10.543746833476504, 10.682951919430115, 10.823861548201764, 10.966476001036952, 11.10681734189823, 11.247727003018403, 11.389205061890092, 11.527842080908012, 11.668183544206574, 11.806820362768068, 11.94772988939585, 12.087503256187054, 12.226139931642832, 12.365345188462726, 12.501141069620031, 12.63580046285405, 12.7704603017515, 12.907392448778293, 13.040915592759664, 13.176711179228963, 13.31307531579448, 13.444325882558912, 13.576712518723577, 13.702849407037908, 13.834668107505598),
.......
(-1.7763376710569024e-15, -8.881688355284512e-16, -8.881688355284512e-16, -6.256959093984815e-45, -2.6645065065853547e-15, 8.881688355284512e-16, 1.7763376710569024e-15, -8.881688355284528e-16, -1.7763376710583362e-15, -8.881688367982712e-16, -6.976150340436319e-22, -8.884757285153119e-16, 1.667635949256822e-15, -2.445688419777969e-13, 0.001298687125012586, 0.0051947468116605, 0.011688217537574272, 0.02597380302395519, 0.0610384249844283, 0.11623284819571751, 0.21233632725859825, 0.3688290858006328, 0.5986981211575598, 0.8798660249474886, 1.1805150938825832, 1.4831127306517058, 1.7454516703850584, 1.9422065934803932, 2.0668840371446056, 2.147405298608788, 2.2077963194793107, 2.2558490058162874, 2.3019535171451637, 2.3487070647624013, 2.3961098331218684, 2.4415644758219766, 2.4837724552990386, 2.525330908842052)]]
a1 具有 (1, 56) 和 a2 (1, 38) 的形状。我相信他们的每一列都是一个包含一些值的元组。所以 a1 有 56 个,a2 有 38 个元组。 a1 和 a2 都有 dtype('O') 并输入 numpy.ndarray
我想要做的是比较这两个数组的元组,最好得到另一个形状为 (1, xx) 的数组,或者至少只是另一个包含那些不共享的元组的列表。我怎样才能做到这一点? 我试图做的是
l1 = []
for i in a1:
for j in a2:
for ii in i:
for jj in j:
if ii != jj:
l1.append(ii)
但是 l1 最终给了我 2128 的长度,这不应该是这种情况(len(l1) 应该返回列表中的元组数),即使它看起来像一个带有元组的列表:[(....), (....)]。我也很确定我的实现不正确。
【问题讨论】:
-
您的示例数组格式错误,请修复它
a1.dype和a2.dtype是什么? -
刚刚编辑。好点了吗?
标签: python-3.x list numpy multidimensional-array tuples