检查高维数组的有效方法在Python中的两个ndarray中重叠

检查高维数组的有效方法在Python中的两个ndarray中重叠,第1张

概述例如,我有两个ndarray,train_dataset的形状是(10000,28,28),val_dateset的形状是(2000,28,28). 除了使用迭代之外,是否有任何有效的方法来使用numpy数组函数来查找两个ndarray之间的重叠? 内存允许你可以使用 broadcasting,就像这样 – val_dateset[(train_dataset[:,None] == val_dat 例如,我有两个ndarray,train_dataset的形状是(10000,28,28),val_dateset的形状是(2000,28).

除了使用迭代之外,是否有任何有效的方法来使用numpy数组函数来查找两个ndarray之间的重叠?

解决方法 内存允许你可以使用 broadcasting,就像这样 –

val_dateset[(train_dataset[:,None] == val_dateset).all(axis=(2,3)).any(0)]

样品运行 –

In [55]: train_datasetOut[55]: array([[[1,1],[1,1]],[[1,0],[0,0]],[[0,0]]])In [56]: val_datesetOut[56]: array([[[0,1]]])In [57]: val_dateset[(train_dataset[:,3)).any(0)]Out[57]: array([[[1,1]]])

如果元素是整数,则可以将输入数组中轴=(1,2)的每个块折叠为标量,假设它们是线性索引数,然后有效地使用np.in1d或np.intersect1d来查找匹配项.

总结

以上是内存溢出为你收集整理的检查高维数组的有效方法在Python中的两个ndarray中重叠全部内容,希望文章能够帮你解决检查高维数组的有效方法在Python中的两个ndarray中重叠所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1194245.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存