numpy相关使用
相关学习资料 : numpy中文网
1
numpy索引区间为左闭右开,第一个索引能取到,第二个索引取不到
索引内可加步长
如
import numpy as np
a=np.arange(10)
print(a,a[:3],a[::3])
结果为
[0 1 2 3 4 5 6 7 8 9] [0 1 2] [0 3 6 9]
2
使用 ones zeros 构造向量或者矩阵时,注意有两个括号,
如 c1=np.ones((3,4)) 函数输入参数为元组
3
numpy索引中括号内可加条件
如 a[a%2==0]
4
numpy运算效率比python循环快很多,默认的加减乘除全部为标量计算。
np.dot(a,b) 为计算 a与b的内积
5
numpy 自动会把返回结果变成行向量。
reshape可以解决这个问题。如
c=np.arange(5).reshape(5)
6
all,any函数的区别
import numpy as np
a=np.array([1,2,3,4])
b=np.array([1,2,3,0])
c=a==b
print(c)
print((a==b).all(),(a==b).any())
结果为
[ True True True False]
False True
7
axis参数
import numpy as np
a=np.random.randint(-5,5,(3,3))
print(a)
b1=a.sum(axis=0)
b2=a.sum(axis=1)
b=a.sum(axis=0).sum()
print(b1,b2,b)
结果为
[[-5 -1 -5]
[ 3 2 -4]
[ 4 2 -2]]
[ 2 3 -11] [-11 1 4] -6
——————————————————
常用功能
import numpy as np
a=np.arange(0,51,10).reshape(6,1) + np.arange(6)
print(a)
结果为
[[ 0 1 2 3 4 5]
[10 11 12 13 14 15]
[20 21 22 23 24 25]
[30 31 32 33 34 35]
[40 41 42 43 44 45]
[50 51 52 53 54 55]]
a=np.arange(5) ‘生成内容为0,1,2,3,4的行向量
b=np.linspace(0,2,5) #生成[0,2]区间等分5的行向量
print(b)
c1=np.ones((3,4))
c2=np.zeros((3,4))
c3=np.eye(3)
c4=np.random.randn(3,3)
print(c1,c2,c3,c4)
[0. 0.5 1. 1.5 2. ] #对应b
[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]] #全1矩阵3x4
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]] #全0矩阵3x4
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]] #3阶单位矩阵
[[-0.54285003 -0.87924659 0.68505122]
[ 1.0115468 2.20624087 0.52882636]
[-1.33261978 -0.51162084 0.22503309]] #随机数组
————————————————————
生成随机整数型矩阵
import numpy as np
a=np.random.random_integers(-5,5,(3,3))
print(a)
结果
[[ 1 -1 3]
[-3 0 -5]
[ 0 2 3]]
DeprecationWarning: This function is deprecated. Please call randint(-5, 5 + 1) instead
a=np.random.random_integers(-5,5,(3,3))
这句是说用 randint代替random_integers
import numpy as np
a=np.random.randint(-5, 5 ,(3,3))
print(a)
——————————————————
内置数学函数
cos exp sqrt
sum mean min max argmin argmax函数
import numpy as np
a=np.array([1,2,3,4])
print(a)
print(np.cos(a),np.sin(a),np.exp(a),np.sqrt(a))
print(a.sum(),a.mean(),a.std(),a.min(),a.max())
print(a.argmin(),a.argmax())
[1 2 3 4] #a
[ 0.54030231 -0.41614684 -0.9899925 -0.65364362] #cos
[ 0.84147098 0.90929743 0.14112001 -0.7568025 ] #sin
[ 2.71828183 7.3890561 20.08553692
54.59815003] #exp
[1. 1.41421356 1.73205081 2. ] #sqrt
10 2.5 1.118033988749895 1 4 #加和 均值 方差 最小值 最大值
0 3 #最小值 和 最大值的索引
numpy相关使用的更多相关文章
- 【341】Numpy 相关应用
Numpy_01 >>> from numpy import pi >>> np.linspace(0, 2, 9) array([0. , 0.25, 0.5 , ...
- numpy、pandas、scipy介绍
https://blog.csdn.net/LOLITA0164/article/details/80195124 numpy简介NumPy(Numeric Python)是一个Python包.它是一 ...
- NumPy学习指南(第2版)
第一章 NumPy快速入门 首先,我们将介绍如何在不同的操作系统中安装NumPy和相关软件,并给出使用NumPy的简单示例代码. 然后,我们将简单介绍IPython(一种交互式shell工具). 如前 ...
- Python数据处理与计算——概述
Python是一种面向对象的,动态的程序设计语言,具有非常简洁而清晰的语法,适合于完成各种高层任务.它既可以用来快速开发程序脚本,也可以用来开发大规模的软件. 随着NumPy.SciPy.Matplo ...
- 十分钟(小时)学习pandas
十分钟学习pandas 一.导语 这篇文章从pandas官网翻译:链接,而且也有很多网友翻译过,而我为什么没去看他们的,而是去官网自己艰难翻译呢? 毕竟这是一个学习的过程,别人写的不如自己写的记忆深刻 ...
- 第01章 准备工作.md
第1章 准备工作 1.1 本书的内容 本书讲的是利用Python进行数据控制.处理.整理.分析等方面的具体细节和基本要点.我的目标是介绍Python编程和用于数据处理的库和工具环境,掌握这些,可以让你 ...
- python数组和矩阵使用总结
python数组和矩阵使用总结 1.数组和矩阵常见用法 Python使用NumPy包完成了对N-维数组的快速便捷操作.使用这个包,需要导入numpy. SciPy包以NumPy包为基础,大大的扩展了n ...
- Win10系统 安装Anaconda+TensorFlow+Keras
小白一枚,安装过程走了很多坑,前前后后安装了好几天,因此记录一下. 一.安装anaconda 官方下载地址:https://repo.continuum.io/archive/ 选项相应的版本安装,我 ...
- 目标检测 <二> TensorFlow安装
一:创建TensorFlow工作环境目录 1. 在anconda安装目录下找到envs目录然后进入 2. 在当前目录下创建一个文件夹改名为tensorflow 二: 创建TensorFlow工作环境 ...
随机推荐
- 阶段5 3.微服务项目【学成在线】_day18 用户授权_17-细粒度授权-获取当前用户信息
3.4.1需求分析 要想实现只查询自己的课程信息则需要获取当前用户所属的企业id. 1.认证服务在用户认证通过将用户所属公司id等信息存储到jwt令牌中. 2.用户请求到达资源服务后,资源服务需要取出 ...
- 创建IDOC
第一步:WE31 创建IDOC所包含的字段. 第二步:WE30 创建IDOC 把Segment分配给IDOC 第三步:WE81 创建信息类型 第四步:WE82 把IDOC类型与信息类型对应. 第五步: ...
- LeetCode_141. Linked List Cycle
141. Linked List Cycle Easy Given a linked list, determine if it has a cycle in it. To represent a c ...
- oracle数据库死锁原因及分析
定义: 当两个用户希望持有对方的资源时就会发生死锁. 即两个用户互相等待对方释放资源时,oracle认定为产生了死锁,在这种情况下,将以牺牲一个用户作为代价,另一个用户继续执行,牺牲的用户的事务将回滚 ...
- 【ARTS】01_37_左耳听风-201900722~201900728
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- docker 概念
前言: docker是一个开源的应用容器引擎,让开发这可以打包他们的应用以及依赖包到一个可以移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化.容器是完全使用沙箱机制,互相之间不会有 ...
- 如何创建一个线程安全的Map?
1,使用普通的旧的Hashtable HashMap允许null作为key,而Hashtable不可以 2,使用Collections中同步化的包装方法synchronizedMap 3,使用conc ...
- 48.javascript基础学习
javascript基础学习: http://www.w3school.com.cn/jsref/index.asp jS的引入方式: 1.行间事件:为某一个具体的元素标签赋予js内容,oncli ...
- Linux由于物理节点故障导致的异常重启-Case1
问题描述:Linux VM异常重启,需要排查问题原因 排查结果: 查询Messages日志获取到的信息 虚拟机内核版本: Jun :: test01 kernel: Linux version -.e ...
- [转帖]详解JVM内存布局及GC原理,值得收藏
概述 https://www.toutiao.com/i6731345429574713868/ java发展历史上出现过很多垃圾回收器,各有各的适应场景,不仅仅是开发,作为运维也需要对这方面有一定的 ...