首页 / PYTHON / Python NumPy数组
Python NumPy数组
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python NumPy数组,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1510字,纯文字阅读大概需要3分钟。
内容图文
![Python NumPy数组](/upload/InfoBanner/zyjiaocheng/765/2e48a19667dd4b5cbd9afacdbeb4eff2.jpg)
我正在使用两个数组,尝试使用它们像二维数组.我正在使用NumPy进行大量的矢量化计算.知道如何填充这样的数组:
X = [1, 2, 3, 1, 2, 3, 1, 2, 3]
要么:
X = [0.2, 0.4, 0.6, 0.8, 0.2, 0.4, 0.6, 0.8, 0.2, 0.4, 0.6, 0.8, 0.2, 0.4, 0.6, 0.8]
忽略邮件的第一部分.
我不得不以网格的形式填充两个数组.但网格尺寸因用户而异,这就是我需要一般形式的原因.我今天早上一直在努力,终于得到了我想要的东西.
如果我之前引起任何混淆,我道歉.英语不是我的舌头语言,有时候我很难解释.
这是为我完成工作的代码:
myIter = linspace(1, N, N)
for x in myIter:
for y in myIter:
index = ((x - 1)*N + y) - 1
X[index] = x / (N+1)
Y[index] = y / (N+1)
用户输入N.
并且X,Y的长度是N * N.
解决方法:
您可以使用功能tile.从示例:
>>> a = np.array([0, 1, 2])
>>> np.tile(a, 2)
array([0, 1, 2, 0, 1, 2])
使用此功能,您还可以像重塑其他答案一样重新塑造阵列(通过定义’重复’是更多维度):
>>> np.tile(a, (2, 1))
array([[0, 1, 2],
[0, 1, 2]])
增加:对内置函数tile和乘法之间的速度差异进行一点比较:
In [3]: %timeit numpy.array([1, 2, 3]* 3)
100000 loops, best of 3: 16.3 us per loop
In [4]: %timeit numpy.tile(numpy.array([1, 2, 3]), 3)
10000 loops, best of 3: 37 us per loop
In [5]: %timeit numpy.array([1, 2, 3]* 1000)
1000 loops, best of 3: 1.85 ms per loop
In [6]: %timeit numpy.tile(numpy.array([1, 2, 3]), 1000)
10000 loops, best of 3: 122 us per loop
编辑
您在问题中提供的代码输出也可以通过以下方式实现:
arr = myIter / (N + 1)
X = numpy.repeat(arr, N)
Y = numpy.tile(arr, N)
这样就可以避免循环数组(这是使用numpy的一大优势).生成的代码更简单(如果您了解当然的功能,请参阅repeat和tile的文档)并且更快.
内容总结
以上是互联网集市为您收集整理的Python NumPy数组全部内容,希望文章能够帮你解决Python NumPy数组所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。