最全--python取矩阵中的一个元素、某一行、特定位置元素

以下代码可实现

  1. 矩阵中任意位置元素的取值
  2. 数组和矩阵中取值的区别
  3. 如何将矩阵中某行数据转换成易于在matplotlib上画的数据
import numpy as np
a=np.array([[1,2,3],[4,5,6],[7,8,9]])#a,b长的一样
b=np.mat([[1,2,3],[4,5,6],[7,8,9]])

a1=a[1,1]#取一个元素时,数组和矩阵返回值一样

a2=a[:,2]#取一列,两者不同
b2=b[:,2]

a3=a[[0,2]]
a33=a3[:,[0,2]]#先取0,1行,再取0,1列. 直接一起写行列是错误的如:a3=a[[0,1],[0,1]]
b3=b[[0,2]]
b33=b3[:,[0,2]]

print("创建a矩阵:\n",a)
print("取一个元素:\n",a1)
print("数组取一列:\n",a2)
print("矩阵取一列:\n",b2)
print("数组取四个角:\n",a33)
print("矩阵取四个角:\n",b33)

b4=b2.flatten()
print("将列展平:\n",b4)
b44=b2.flatten().A[0]
print('便于在matplotlib上读取数据:\n',b44)
创建a矩阵:
 [[1 2 3]
 [4 5 6]
 [7 8 9]]
取一个元素:
 5
数组取一列:
 [3 6 9]
矩阵取一列:
 [[3]
 [6]
 [9]]
数组取四个角:
 [[1 3]
 [7 9]]
矩阵取四个角:
 [[1 3]
 [7 9]]
将列展平
 [[3 6 9]]
便于在matplotlib上读取数据
 [3 6 9]

拿出数据供matplotlib用

import numpy as np
a=np.mat([[1,2,3]])
print(a)
print(a.getA()[0])
print(a.flatten.A[0])
[[1 2 3]]
[1 2 3]
[1 2 3]

总结:

为了方便矩阵的数据在matplotlib上显示,最开始时,将矩阵a变成数组,np.array(a)
再进行取元素操作

发布了10 篇原创文章 · 获赞 4 · 访问量 403

猜你喜欢

转载自blog.csdn.net/m0_46204224/article/details/105521768