python – numpy数组到置换矩阵

python – numpy数组到置换矩阵,第1张

概述np.array([1,2,3]) 我有阵容.我想把它变成一个numpy数组,每个1:1排列的元组.像这样: np.array([ [(1,1),(1,2),(1,3)], [(2,1),(2,2),(2,3)], [(3,1),(3,2),(3,3)],]) 有关如何有效地做到这一点的任何想法?我需要做几百万次这个 *** 作. 如果您正在使用numpy,请不要使用元组.使用它 @[email protected]([1,2,3])

我有阵容.我想把它变成一个numpy数组,每个1:1排列的元组.像这样:@H_404_10@

@H_404_10@ @[email protected]([ [(1,1),(1,2),3)],[(2,(2,[(3,(3,])

有关如何有效地做到这一点的任何想法?我需要做几百万次这个 *** 作.@H_404_10@解决方法 如果您正在使用numpy,请不要使用元组.使用它的力量并添加另一个尺寸为2的尺寸.
我的建议是:

@H_404_10@

@H_404_10@ @H_301_7@x = np.array([1,3])np.vstack(([np.vstack((x,x,x))],[np.vstack((x,x)).T])).T

要么:@H_404_10@

@H_404_10@ @H_301_7@im = np.vstack((x,x))np.vstack(([im],[im.T])).T

对于一般数组:@H_404_10@

@H_404_10@ @H_301_7@ix = np.vstack([x for _ in range(x.shape[0])])return np.vstack(([ix],[ix.T])).T

这将产生你想要的东西:@H_404_10@

@H_404_10@ @H_301_7@array([[[1,1],[1,2],3]],[[2,[2,[[3,[3,3]]])

但作为3D矩阵,正如您在查看其形状时所看到的:@H_404_10@

@H_404_10@ @H_301_7@Out[25]: (3L,3L,2L)

当阵列大小变大时,这比具有排列的解决方案更有效.我的解决方案针对@ Kasra的时间为1ms,而对于一个100的大小为100的阵列,我的解决方案为46ms.@ AshwiniChaudhary的解决方案更有效率.@H_404_10@ 总结

以上是内存溢出为你收集整理的python – numpy数组到置换矩阵全部内容,希望文章能够帮你解决python – numpy数组到置换矩阵所遇到的程序开发问题。

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

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

原文地址: https://www.outofmemory.cn/langs/1194166.html

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

发表评论

登录后才能评论

评论列表(0条)

保存