学习笔记,仅供参考,有错必究


数组运算

# 布尔数组过滤元素
arr = np.array([1, 2, 3, 4, 5, 6, 7, 10])
arr[arr>4]
# 多个布尔表达式过滤元素
arr[np.logical_and(arr > 5, arr < 10)]
arr[np.logical_or(arr > 6, arr < 3)]
array([ 5,  6,  7, 10])array([6, 7])array([ 1,  2,  7, 10])
# 选择元素
arr = np.array([1, 2, 3, 4, 5])
arr_choice1 = np.array([0, 1, 4], int)
arr[arr_choice1]# take选取元素
arr.take(arr_choice1)
arr2 = np.array([[1, 2, 7, 8], [3, 4, -1, 0], [5, 6, 3, 1]], float)
arr_choice2 = np.array([0, 1, 0], int)
arr2.take(arr_choice2, axis = 0) # 按行
arr2.take(arr_choice2, axis = 1) # 按列
array([1, 2, 5])array([1, 2, 5])array([[ 1.,  2.,  7.,  8.],[ 3.,  4., -1.,  0.],[ 1.,  2.,  7.,  8.]])array([[1., 2., 1.],[3., 4., 3.],[5., 6., 5.]])
# take的逆操作put,将元素放到指定位置
arr = np.array([1, 2, 3, 4, 5])
arr_replace = np.array([20, 40, 60])
arr.put([1, 3], arr_replace)
arr
array([ 1, 20,  3, 40,  5])

矩阵运算

# 矩阵相乘
m1 = np.array([[1, 2, 3, 4], [1, 2, -1, 0]], float)
m2 = np.array(range(12), float).reshape((4, 3))
np.dot(m1, m2)
array([[60., 70., 80.],[ 0.,  2.,  4.]])
# 内积和外积
m1 = np.array([1, 2, 3])
m2 = np.array([0, 2, 1])
np.outer(m1, m2)
np.outer(m2, m1)
np.inner(m1, m2)
array([[0, 2, 1],[0, 4, 2],[0, 6, 3]])array([[0, 0, 0],[2, 4, 6],[1, 2, 3]])7
# 求矩阵的行列式,逆矩阵
m = np.array([[1, 2, 5], [3, 4, 5], [2, 6, 1]])
m
#行列式
np.linalg.det(m)#逆矩阵
inv_m = np.linalg.inv(m)
inv_m
np.dot(m, inv_m)
array([[1, 2, 5],[3, 4, 5],[2, 6, 1]])37.99999999999999array([[-0.68421053,  0.73684211, -0.26315789],[ 0.18421053, -0.23684211,  0.26315789],[ 0.26315789, -0.05263158, -0.05263158]])array([[ 1.00000000e+00, -2.08166817e-17,  0.00000000e+00],[ 5.55111512e-17,  1.00000000e+00, -5.55111512e-17],[-5.55111512e-17, -4.85722573e-17,  1.00000000e+00]])
# 特征值及特征向量
m = np.array([[1, 2, 5], [3, 4, 5], [2, 6, 1]])
vals, vecs = np.linalg.eig(m)
vals
vecs
array([10.05542725, -1.45102583, -2.60440142])array([[-0.46078772, -0.91011774, -0.78680234],[-0.6895963 ,  0.14477757, -0.10328041],[-0.55868741,  0.38823339,  0.60850246]])

python观察日志(part27)--数组及矩阵运算相关推荐

  1. python观察日志(part24)--列表和numpy数组扁平化

    学习笔记,仅供参考,有错必究 参考文献:python–列表.数组扁平化:你知道如何将python中嵌套的列表扁平化吗? 列表扁平化 方案1 print(sum([[1, 2, 3], ["s ...

  2. python观察日志(part26)--numpy数组操作

    学习笔记,仅供参考,有错必究 数组操作 # 垂直方向和并数组 arr1 = np.array([[1, 2, 3], [0, 0, 1]]) arr2 = np.array([[4, 5, 6], [ ...

  3. python观察日志(part25)--创建numpy数组

    学习笔记,仅供参考,有错必纠 按需更新 numpy中的数组 创建数组 # 构造正态矩阵 np.random.normal(0, 1, (4, 4)) array([[ 0.37736985, -0.2 ...

  4. python观察日志(part22)--设置工作目录及文件读取

    学习笔记,仅供参考 参考自:pandas.read_csv参数详解:<python编程从数据分析到数据编程> 查看并更改当前工作目录 当前工作目录就是python(准确的说,是python ...

  5. python观察日志(part21)--ord,chr,unichr方法的联系与区别

    学习笔记,仅供参考,有错必纠 参考自:python 的 ord(). chr(). unichr() 函数; 菜鸟教程 ord,chr,unichr方法的联系与区别 ord方法 ord方法以一个长度为 ...

  6. python观察日志(part20)--列表中加号,extend,append之间的区别

    学习笔记,仅供参考,有错必纠 列表中"+"加号,extend,append之间的区别 extend extend函数用于在列表末尾一次性追加另一个序列中的多个值. append a ...

  7. python观察日志(part15)--命名元祖namedtuple

    学习笔记,有错必纠 命名元祖namedtuple 有很多简单的对象其实可以看做几个相关值的集合,例如,在下面这段代码中,我们定义Point类,它包含两个数字x和y: class Point:def _ ...

  8. python观察日志(part13)--any和all

    学习笔记,有错必纠 any和all any函数 python提供一个内置函数any,它接收一个由布尔值组成的序列,并在其中任何值是True时返回True. 它可以用于列表: >>> ...

  9. python观察日志(part12)--基于类的深拷贝与浅拷贝

    学习笔记,有错必纠 python代码 一上来,我们先看一段python代码: # -*- coding: utf-8 -*-import copyclass Bunny():passclass Dog ...

最新文章

  1. java urlconn 下载慢_使用HttpURLConnection下载文件时出现 java.io.FileNotFoundException彻底解决办法...
  2. JS实现网易云轮播效果图
  3. Java黑皮书课后题第6章:6.1(数学:五角数)一个五角数被定义为n*(3*n-1)/2,其中n=1、2…。所以开始的几个数字就是1、5、12、22…,编写具有以下方法头的方法,返回一个五角数
  4. 《CLR via C#》笔记——运行时序列化(2)
  5. 卷积神经网络第四周作业1 - Face Recognition for the Happy House - v1
  6. python 读取xlsx特定页_python 读取 Excel
  7. java实现录屏_javacv实现桌面端录屏
  8. Android 系统FaceDetector人脸识别检测,圆形相机预览框,截取图片中的人脸图片(宽高自定义),圆形图片显示。
  9. ThinkPHP高仿蓝奏云网盘系统源码/对接易支付系统程序
  10. android界面设计开发总结
  11. Android进程永生技术终极揭秘:进程被杀底层原理、APP应对技巧
  12. larval框架数据表的填充
  13. python懒人小工具:python打包exe 小工具
  14. 【MySQL】在MySQL中如何给表起别名
  15. 中国石油大学《化工原理二》第三阶段在线作业
  16. day10 爬虫导言
  17. SpringCloud Day12---SpringCloud Alibaba Sentinel 服务熔断与限流
  18. 拉格朗日对偶问题的一些介绍
  19. 格式化的盘要如何恢复文件
  20. python第二周day2

热门文章

  1. kaggle数据集命令行下载
  2. Extjs入门(07) 滚动条autoScroll:true,
  3. 老男孩教育50期左婷婷-day03-xhell连接服务器-远程连接排错-基础命令
  4. tomcat的根路径设置
  5. vmware-tools安装
  6. Python rfind()方法
  7. javascript学习笔记(一)-廖雪峰教程
  8. 【右滑返回】滑动冲突 Scroller DecorView
  9. Common Lisp 函数 require 和 provide 源代码分析
  10. 什么是算法,为什么需要学算法,以及算法学到什么程度