Numpy-笔记2(莫烦)

二维索引

如果你想要表示具体的单个元素,可以仿照上述的例子:

print(A[1][1])      # 8

此时对应的元素即A[1][1],在A中即横纵坐标都为1,第二行第二列的元素,即8(因为计数从0开始)。同样的还有其他的表示方法:

print(A[1, 1])      # 8

在Python的 list 中,我们可以利用:对一定范围内的元素进行切片操作,在Numpy中我们依然可以给出相应的方法:

print(A[1, 1:3])    # [8 9]

这一表示形式即针对第二行中第2到第4列元素进行切片输出(不包含第4列)。 此时我们适当的利用for函数进行打印:

for row in A:
    print(row)
"""    
[ 3,  4,  5, 6]
[ 7,  8,  9, 10]
[11, 12, 13, 14]
"""

此时它会逐行进行打印操作。如果想进行逐列打印,就需要稍稍变化一下:

for column in A.T:
    print(column)
"""  
[ 3,  7,  11]
[ 4,  8,  12]
[ 5,  9,  13]
[ 6, 10,  14]
"""

上述表示方法即对A进行转置,再将得到的矩阵逐行输出即可得到原矩阵的逐列输出。

最后依然说一些关于迭代输出的问题:

import numpy as np
A = np.arange(3,15).reshape((3,4))

print(A.flatten())   
 array([3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])

for item in A.flat:
    print(item)

3
 4
……
14

这一脚本中的flatten是一个展开性质的函数,将多维的矩阵进行展开成1行的数列。而flat是一个迭代器,本身是一个object属性。

猜你喜欢

转载自blog.csdn.net/zzdxxn/article/details/80599702