相关学习资料 : numpy中文网

https://www.numpy.org.cn/

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相关使用的更多相关文章

  1. 【341】Numpy 相关应用

    Numpy_01 >>> from numpy import pi >>> np.linspace(0, 2, 9) array([0. , 0.25, 0.5 , ...

  2. numpy、pandas、scipy介绍

    https://blog.csdn.net/LOLITA0164/article/details/80195124 numpy简介NumPy(Numeric Python)是一个Python包.它是一 ...

  3. NumPy学习指南(第2版)

    第一章 NumPy快速入门 首先,我们将介绍如何在不同的操作系统中安装NumPy和相关软件,并给出使用NumPy的简单示例代码. 然后,我们将简单介绍IPython(一种交互式shell工具). 如前 ...

  4. Python数据处理与计算——概述

    Python是一种面向对象的,动态的程序设计语言,具有非常简洁而清晰的语法,适合于完成各种高层任务.它既可以用来快速开发程序脚本,也可以用来开发大规模的软件. 随着NumPy.SciPy.Matplo ...

  5. 十分钟(小时)学习pandas

    十分钟学习pandas 一.导语 这篇文章从pandas官网翻译:链接,而且也有很多网友翻译过,而我为什么没去看他们的,而是去官网自己艰难翻译呢? 毕竟这是一个学习的过程,别人写的不如自己写的记忆深刻 ...

  6. 第01章 准备工作.md

    第1章 准备工作 1.1 本书的内容 本书讲的是利用Python进行数据控制.处理.整理.分析等方面的具体细节和基本要点.我的目标是介绍Python编程和用于数据处理的库和工具环境,掌握这些,可以让你 ...

  7. python数组和矩阵使用总结

    python数组和矩阵使用总结 1.数组和矩阵常见用法 Python使用NumPy包完成了对N-维数组的快速便捷操作.使用这个包,需要导入numpy. SciPy包以NumPy包为基础,大大的扩展了n ...

  8. Win10系统 安装Anaconda+TensorFlow+Keras

    小白一枚,安装过程走了很多坑,前前后后安装了好几天,因此记录一下. 一.安装anaconda 官方下载地址:https://repo.continuum.io/archive/ 选项相应的版本安装,我 ...

  9. 目标检测 <二> TensorFlow安装

    一:创建TensorFlow工作环境目录 1. 在anconda安装目录下找到envs目录然后进入 2. 在当前目录下创建一个文件夹改名为tensorflow 二: 创建TensorFlow工作环境 ...

随机推荐

  1. 阶段5 3.微服务项目【学成在线】_day18 用户授权_17-细粒度授权-获取当前用户信息

    3.4.1需求分析 要想实现只查询自己的课程信息则需要获取当前用户所属的企业id. 1.认证服务在用户认证通过将用户所属公司id等信息存储到jwt令牌中. 2.用户请求到达资源服务后,资源服务需要取出 ...

  2. 创建IDOC

    第一步:WE31 创建IDOC所包含的字段. 第二步:WE30 创建IDOC 把Segment分配给IDOC 第三步:WE81 创建信息类型 第四步:WE82 把IDOC类型与信息类型对应. 第五步: ...

  3. 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 ...

  4. oracle数据库死锁原因及分析

    定义: 当两个用户希望持有对方的资源时就会发生死锁. 即两个用户互相等待对方释放资源时,oracle认定为产生了死锁,在这种情况下,将以牺牲一个用户作为代价,另一个用户继续执行,牺牲的用户的事务将回滚 ...

  5. 【ARTS】01_37_左耳听风-201900722~201900728

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  6. docker 概念

    前言: docker是一个开源的应用容器引擎,让开发这可以打包他们的应用以及依赖包到一个可以移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化.容器是完全使用沙箱机制,互相之间不会有 ...

  7. 如何创建一个线程安全的Map?

    1,使用普通的旧的Hashtable HashMap允许null作为key,而Hashtable不可以 2,使用Collections中同步化的包装方法synchronizedMap 3,使用conc ...

  8. 48.javascript基础学习

    javascript基础学习:   http://www.w3school.com.cn/jsref/index.asp jS的引入方式: 1.行间事件:为某一个具体的元素标签赋予js内容,oncli ...

  9. Linux由于物理节点故障导致的异常重启-Case1

    问题描述:Linux VM异常重启,需要排查问题原因 排查结果: 查询Messages日志获取到的信息 虚拟机内核版本: Jun :: test01 kernel: Linux version -.e ...

  10. [转帖]详解JVM内存布局及GC原理,值得收藏

    概述 https://www.toutiao.com/i6731345429574713868/ java发展历史上出现过很多垃圾回收器,各有各的适应场景,不仅仅是开发,作为运维也需要对这方面有一定的 ...