新手入门学习python Numpy基础操作


Posted in Python onMarch 02, 2020

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。是在学习机器学习、深度学习之前应该掌握的一个非常基本且实用的Python库。

导入库,创建数组

import numpy as np
a = np.arraya = np.array([0, 1, 2, 3, 4] )  #使用array函数

a = np.array([[11, 12, 13, 14, 15],
          [16, 17, 18, 19, 20],
          [21, 22, 23, 24, 25],
          [26, 27, 28 ,29, 30],
          [31, 32, 33, 34, 35]])  #创建多维数组
a=np.zeros((2, 3))  #创建两行三列的0填充的矩阵,ones(shape)则是创建1填充的,np.full((m,n)8) m行n列的全部是8的参数
a=np.linspace(1., 4., 6) #创建1到4之间,共6个元素的等值间距的数组
a=np.arange(起,止,步长) #创建 从起到至,按步长排列的数组
a= np.indices((3,3)) #创建一个堆叠的更高维度的数组
a=np.mat() #创建矩阵,array只能从列表中生成,而mat可以从字符串或者列表中生成,比如mat("1,2;3,4"),而array([1,2,3,4]),mat是矩阵、array是数组(假矩阵)

基本操作符

np中矩阵之间加减乘除是对应元素的+、-、*、/, 【注】一个数组加一个整数,则是对该数组每个元素加该整数,这个过程成为数组的广播,如果阶数不同则是每行与每行对应相乘。

mat的矩阵若是使用*则是矩阵相乘,而非对应元素相乘

其他的计算函数:

  • multiply(),数组或矩阵对应位置相乘
  • dot()函数,a.dot(b)表示ab矩阵相乘,数学上的相乘。
  • sum() #求和,可使用axis限定方向,0为纵向,1为横向。[[...],[...],[...]]这样横着放求得时候他也会默认为二维方阵,最后结果是[...]
  • min() #找出最小的元素
  • max() #找出最大的元素
  • mean() #返回均值
  • std() #返回标准方差
  • var() #返回方差
  • cumprod() #原数组该位置的前几项元素乘 (累乘数组),可以使用axis指定方向,0表示纵向,1表示横向,默认横向
  • cumsum() #原数组该位置的前几项元素和 (累加数组)
  • ptp() #返回最大值减去最小值

np的索引和切片

import numpy as np
data = np.arange(12).reshape((3, 4))
print(data)
##对数组元素进行索引和切片
# 1. 取第一行的数据
print(data[0])

# 2. 取第一列的数据
print(data.T[0])
print(data[:, 1])

#3. 获取多行
print(data[:2])

# 4. 获取多行列
print(data.T[:2])
print(data[:, :2])


# 5. 获取指定行的前几列;
print(data)
print(data[[0,2], :2])
print(data[:2, [0,2]])

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python日期操作学习笔记
Oct 07 Python
python中global与nonlocal比较
Nov 21 Python
python 打印对象的所有属性值的方法
Sep 11 Python
Python实现PS滤镜特效之扇形变换效果示例
Jan 26 Python
python 申请内存空间,用于创建多维数组的实例
Dec 02 Python
给Python学习者的文件读写指南(含基础与进阶)
Jan 29 Python
PyQt5中多线程模块QThread使用方法的实现
Jan 31 Python
TensorFlow:将ckpt文件固化成pb文件教程
Feb 11 Python
python 如何用map()函数创建多线程任务
Apr 07 Python
python实现简单的名片管理系统
Apr 26 Python
一劳永逸彻底解决pip install慢的办法
May 24 Python
关于Python使用turtle库画任意图的问题
Apr 01 Python
python中数据库like模糊查询方式
Mar 02 #Python
python读取文件指定行内容实例讲解
Mar 02 #Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
Mar 01 #Python
python判断两个序列的成员是否一样的实例代码
Mar 01 #Python
python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例
Mar 01 #Python
Python猜数字算法题详解
Mar 01 #Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
Feb 29 #Python
You might like
PHP中PDO的错误处理
2011/09/04 PHP
php获取根域名方法汇总
2014/10/28 PHP
Laravel中的Auth模块详解
2017/08/17 PHP
复制小说文本时出现的随机乱码的去除方法
2010/09/07 Javascript
jquery获取元素值的方法(常见的表单元素)
2013/11/15 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
2015/08/22 Javascript
跟我学习javascript的异步脚本加载
2015/11/20 Javascript
如何使用headjs来管理和异步加载js
2016/11/29 Javascript
jQuery回调方法使用示例
2017/06/26 jQuery
利用node.js+mongodb如何搭建一个简单登录注册的功能详解
2017/07/30 Javascript
浅谈angular.js跨域post解决方案
2017/08/30 Javascript
Angular 5.0 来了! 有这些大变化
2017/11/15 Javascript
小程序和web画三角形实现解析
2019/09/02 Javascript
Vue2.4+新增属性.sync、$attrs、$listeners的具体使用
2020/03/08 Javascript
布同 统计英文单词的个数的python代码
2011/03/13 Python
python实现微信每日一句自动发送给喜欢的人
2019/04/29 Python
django框架防止XSS注入的方法分析
2019/06/21 Python
初次部署django+gunicorn+nginx的方法步骤
2019/09/11 Python
Python中sorted()排序与字母大小写的问题
2020/01/14 Python
套娃式文件夹如何通过Python批量处理
2020/08/23 Python
selenium切换标签页解决get超时问题的完整代码
2020/08/30 Python
如何向scrapy中的spider传递参数的几种方法
2020/11/18 Python
python中K-means算法基础知识点
2021/01/25 Python
皮尔·卡丹巴西官方商店:Pierre Cardin
2017/07/21 全球购物
Europcar西班牙:全球汽车租赁领域的领导者
2018/09/17 全球购物
Yahoo-PHP面试题1
2016/07/20 面试题
什么是命名空间(NameSpace)
2015/11/24 面试题
物业管理公司实习生自我鉴定
2013/09/19 职场文书
毕业生大学生活自我总结
2014/01/31 职场文书
我的小天地教学反思
2014/04/30 职场文书
公司委托书怎么写
2014/08/02 职场文书
女儿满月酒致辞
2015/07/29 职场文书
MySQL主从复制断开的常用修复方法
2021/04/07 MySQL
用javascript制作qq注册动态页面
2021/04/14 Javascript
浅谈如何提高PHP代码的质量
2021/05/28 PHP
div与span之间的区别与使用介绍
2021/12/06 HTML / CSS