简单学PythonNumPy库3linspacefromfunctionones方法创建数组

今天我们再学习两种创建numpy数组的方法。

1、linspace方法。前面我们学过arange方法创建数组,类似等差数列,要求提供开始的数字,结束的数字,步长。如果我们只想指定开始和结束的数字,不想提供步长,而只是要求给生成多少个数字,那就要用linspace方法了。下面我们在20和80之间创建10个数字,要求构成等差数列:

import numpy as np
a = np.linspace(20, 80, num=10)
print('数组:', a)
print('数据类型:', a.dtype)

结果:

数组: [20. 26.66666667 33.33333333 40. 46.66666667 53.33333333 60. 66.66666667 73.33333333 80. ] 数据类型: float64

2、fromfunctionones方法。fromfunction方法可以通过一个函数规则来创建数组,创建的时候要求提供shape,就是几行几列。

下面我们就生成一个5行6列的数组

np.fromfunction(lambda i, j:i * j, (5, 6), dtype=int)

结果:

array([[ 0, 0, 0, 0, 0, 0], [ 0, 1, 2, 3, 4, 5], [ 0, 2, 4, 6, 8, 10], [ 0, 3, 6, 9, 12, 15], [ 0, 4, 8, 12, 16, 20]])

生成了一个5行6列的二维数组。这里解释一下“lambda i, j:i * j, (5, 6)”,先看i,就是生成5行6列数组,第一行全是0,第二行全是1…第5行全是4;再看j,就是在将第一列全乘以0,第二列全乘以1…第六列全乘以5。

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/75017
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 2024 年 7 月 11 日 下午2:36
下一篇 2024 年 7 月 11 日 下午2:37

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注