python两数组内容比较_Python:比较两个数组的元素

下面是一个使用^{}-from scipy.spatial import distance

# Get eucliden distances between first three cols off data_CD8 and data_CD4

dists = distance.cdist(data_CD8[:,:3], data_CD4[:,:3])

# Get mask of those distances that are within co distance. This sets up the

# first condition requirement as posted in the loopy version of original code.

mask1 = dists < co

# Take the third column off the two input arrays that represent the time values.

# Get the equality between all time values off data_CD8 against all time values

# off data_CD4. This sets up the second conditional requirement.

# We are adding a new axis with None, so that NumPY broadcasting

# would let us do these comparisons in a vectorized manner.

mask2 = data_CD8[:,3,None] == data_CD4[:,3]

# Combine those two masks and look for any match correponding to any

# element off data_CD4. Since the masks are setup such that second axis

# represents data_CD4, we need numpy.any along axis=1 on the combined mask.

# A final inversion of mask is needed as we are deleting the ones that

# satisfy these requirements.

mask3 = ~((mask1 & mask2).any(1))

# Finally, using boolean indexing to select the valid rows off data_CD8

out = data_CD8[mask3]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值