numpy中shape函数的一些用法

来源:互联网 发布:涤纶网络丝织带 编辑:程序博客网 时间:2024/04/19 03:38

shape函数是numpy库中一个函数,它的功能是查看矩阵的维数,和数组的列数(相当于选择矩阵中维数较大的那个)。

借着做周志华《机器学习》 7.3的机会,掌握了这个小技巧。

import numpy as np  
 
D = np.array([  
    [1, 1, 1, 1, 1, 1, 0.697, 0.460, 1],  
    [2, 1, 2, 1, 1, 1, 0.774, 0.376, 1],  
    [2, 1, 1, 1, 1, 1, 0.634, 0.264, 1],  
    [1, 1, 2, 1, 1, 1, 0.608, 0.318, 1],  
    [3, 1, 1, 1, 1, 1, 0.556, 0.215, 1],  
    [1, 2, 1, 1, 2, 2, 0.403, 0.237, 1],  
    [2, 2, 1, 2, 2, 2, 0.481, 0.149, 1],  
    [2, 2, 1, 1, 2, 1, 0.437, 0.211, 1],  
    [2, 2, 2, 2, 2, 1, 0.666, 0.091, 0],  
    [1, 3, 3, 1, 3, 2, 0.243, 0.267, 0],  
    [3, 3, 3, 3, 3, 1, 0.245, 0.057, 0],  
    [3, 1, 1, 3, 3, 2, 0.343, 0.099, 0],  
    [1, 2, 1, 2, 1, 1, 0.639, 0.161, 0],  
    [3, 2, 2, 2, 1, 1, 0.657, 0.198, 0],  
    [2, 2, 1, 1, 2, 2, 0.360, 0.370, 0],  
    [3, 1, 1, 3, 3, 1, 0.593, 0.042, 0],  
    [1, 1, 2, 2, 2, 1, 0.719, 0.103, 0]])
'''number of instances,attributes'''
m, n = D.shape[0], D.shape[1]-1
print(m , n)

>>> 17 8

从结果可以看出 .shape[0]代表矩阵的行数,.shape[1]代表矩阵的列数。

print(D.shape)

>>> (17, 9)

可以看出 .shape 函数可以查看矩阵的行列。


对于一维数组来说,shape 只会返回数组的列数。

对于单个数字,shape函数返回为空。

可以根据绛维的思想来理解这个问题。

原创粉丝点击