在python中从n个子数组副本创建一个数组
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在python中从n个子数组副本创建一个数组,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含896字,纯文字阅读大概需要2分钟。
内容图文
有没有更有效的方法(或至少pythonic)来堆叠n个副本的子阵列,以创建一个新的数组?
import numpy as np
x = np.arange(4)
for i in range(n-1):
x = hstack((x,arange(4)))
谢谢,
解决方法:
In [34]: x = np.arange(4)
In [35]: np.tile(x,(3,1))
Out[35]:
array([[0, 1, 2, 3],
[0, 1, 2, 3],
[0, 1, 2, 3]])
但要小心 – 你可能能够使用broadcasting而不是一遍又一遍地重复同一行.
例如,假设您有一些形状数组(3,4):
In [40]: y = np.arange(12).reshape(3,4)
In [41]: y
Out[41]:
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
这是你的x:
In [42]: x = np.arange(4)
In [43]: x
Out[43]: array([0, 1, 2, 3])
你可以添加x(其形状为(4,))和y(其形状为(3,4)),NumPy将自动“广播”x到形状(3,4):
In [44]: x + y
Out[44]:
array([[ 0, 2, 4, 6],
[ 4, 6, 8, 10],
[ 8, 10, 12, 14]])
比较结果
In [45]: np.tile(x,(3,1)) + y
Out[45]:
array([[ 0, 2, 4, 6],
[ 4, 6, 8, 10],
[ 8, 10, 12, 14]])
如您所见,不需要先拼贴x.实际上,通过不平铺x,可以节省内存.
内容总结
以上是互联网集市为您收集整理的在python中从n个子数组副本创建一个数组全部内容,希望文章能够帮你解决在python中从n个子数组副本创建一个数组所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。