numpy数组的元素总和与总数不同

时间:2018-08-16 09:13:57

标签: python numpy precision

我试图计算对的数量并将其保存在两个不同的直方图中,一个将对保存在一个拆分了父对象的数组中,另一个仅保存总数,这意味着我有一个看起来像循环的像这样:

for k in range(N_parents):
    pair_hist[k, bin] +=1
    total_pair_hist[bin] +=1

pair_hist和total_pair都定义为

pair_hist = np.zeros((N_parents, bins.shape[0]), dtype = np.uint64)
total_pair_hist = np.zeros(bins.shape[0], dtype = np.uint64)

我希望将所有双亲中pair_hist的元素相加(轴= 0),得到总的直方图。有趣的是,如果我取pair_hist的总和:

onehalo_sum_ind = np.sum(pair_hist, axis = 0)

我没有得到完全的total_pair_hist,但是有些不同:

total_pair_hist = [  287248245   448773033   695820015  1070797576  1634146741  2466680801
  3667159080  5334307986  7524739978 10206208064 13237161068 16466436715
 19231751113 20949333183 21254336387 19497450101 16459529579 13038604111
  9783826702  7006904025  4813946458  3207605915  2097437543  1355158303
   869077173   555036759   353732683   225171870   143179912           0]

pair_hist = [  287267022   448887401   696415932  1073435699  1644677789  2503693266
  3784008845  5665555755  8380564635 12201977310 17382403650 23929909625
 31103373709 36859534246 38146287402 33454446858 25689430007 18142721164
 12224099624  8035266046  5211441720  3353187036  2147027818  1370663213
   873519714   556182465   353995293   225224668   143189173           0]

有什么想法吗?预先谢谢你:)

1 个答案:

答案 0 :(得分:0)

很抱歉收到的答复很晚,但是我之前没有时间来做。问题是由numba引起的。我在将它与parallel = True标志一起使用以并行化其中一个循环,并导致了错误。