栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

numpy数组到置换矩阵

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

numpy数组到置换矩阵

如果您使用的是numpy,请不要使用元组。使用其功能并添加另一个尺寸为2的尺寸。我的建议是:

x = np.array([1,2,3])np.vstack(([np.vstack((x, x, x))], [np.vstack((x, x, x)).T])).T

要么:

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

对于一般数组:

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

这将产生您想要的:

array([[[1, 1],        [1, 2],        [1, 3]],       [[2, 1],        [2, 2],        [2, 3]],       [[3, 1],        [3, 2],        [3, 3]]])

但是作为3D矩阵,您可以在查看其形状时看到:

Out[25]: (3L, 3L, 2L)

随着数组大小变大,这比带有排列的解决方案更有效。将我的解决方案与@Kasra的收益相比,我的收益为1毫秒,而排列为100数组的收益为46毫秒。@AshwiniChaudhary的解决方案效率更高。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/625549.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号