上QQ阅读APP看书,第一时间看更新
2.3.3 获取NumPy属性
首先,我们通过NumPy中的arange(n)方法,生成0到n-1的数组。比如我们输入np.arange(15),可以看到返回的结果是array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]。
然后,通过NumPy中的reshape(row,column)方法,自动构建一个多行多列的array对象。
比如,我们输入如下命令。
a = np.arange(15).reshape(3,5),代表3行5列
返回结果如下。
array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14]])
有了基本数据之后,可以通过NumPy提供的shape属性获取NumPy数组的行数与列数。
print(a.shape)
可以看到返回的结果是一个元组(tuple),数字3代表3行,数字5代表5列。
(3, 5)
轮到你来
通过arange()和reshape()方法定义一个NumPy数组,然后通过Python的print方法打印出数组的shape值(返回的应该是一个元组类型)。
我们可以通过.ndim属性获取NumPy数组的维度,下面举两个例子。
import numpy as np x = np.arange(15) print(x.ndim) #输出x向量的维度,这时能看到的维度是1维 X = x.reshape(3,5) #将x向量转为3行5列的二维矩阵 Print(X.ndim) #输出X矩阵的维度,这时能看到的维度是2维
reshape()方法的特别用法:如果用户只关心需要多少行或者多少列,其他由计算机自己来算,则可以使用如下方法。
x.reshape(15,-1) #我只关心我要15行,列由计算机自己来算 x.reshape(-1,15) #我只关心我要15列,行由计算机自己来算