【numpy学习笔记】数组的创建和基本运算
1. 创建numpy数组
1.1 通过tuple和list创建数组
import numpy as np
通过tuple
t=(1,2,3)
a=np.array(t,dtype= 'int')
#array([1, 2, 3])
通过list
list1 = [1,2,3]
a = np.array(list1,dtype='int')
#array([1, 2, 3])
用多个list创建多维数组
list1 = [1,2,3]
list2 = [4.2,5.1,6.3]
b = np.array([list1,list2])
#array([[1. , 2. , 3. ],[4.2, 5.1, 6.3]])
b.dtype
#dtype('float64')
改变dtype
c = np.array( [ [1,2], [3,4] ], dtype=complex )
#array([[1.+0.j, 2.+0.j],[3.+0.j, 4.+0.j]])
c.shape
#(2, 2)
1.2 创建特殊数组
np.zeros([2,4])
#array([[ 0., 0., 0., 0.],[ 0., 0., 0., 0.]])
np.ones([2,3])
#array([[ 1., 1., 1.],[ 1., 1., 1.]])
np.empty([3,2])
#array([[1., 1.],[1., 1.],[1., 1.]])
#return a new array of given shape and type, without initializing entries.
np.eye(3)
#array([[1., 0., 0.],[0., 1., 0.],[0., 0., 1.]])
np.arange(2,10,2)
#array([2, 4, 6, 8])
np.linspace(0,10,4)
#array([ 0., 3.33333333, 6.66666667, 10.])
#4 numbers from 0 to 10 , 等分
np.linspace(0,10,3)
#array([ 0., 5., 10.])
2. numpy数组的基本运算
2.1 算术运算
a = np.array([[1,2,3],[4,5,6]])
#array([[1, 2, 3],[4, 5, 6]])a * a
#array([[ 1, 4, 9],[16, 25, 36]])a ** 3
#array([[ 1, 8, 27],[ 64, 125, 216]], dtype=int32)a + a
#array([[ 2, 4, 6],[ 8, 10, 12]])
1/a
#array([[1. , 0.5 , 0.33333333],[0.25 , 0.2 , 0.16666667]])
2.2 矩阵运算
A = np.array( [[1,3],[0,1]] )
B = np.array( [[2,2],[3,4]] )
#array([[1, 3],[0, 1]])
#array([[2, 2],[3, 4]])
矩阵相乘
np.dot(A, B) #A.dot(B)
#array([[11, 14],[ 3, 4]])
#A*B是元素相乘,两者不同
矩阵相加
np.add(A, B)
#array([[3, 5],[3, 5]])
2.3 其他运算
a = np.random.random([3,3])
array([[0.19176092, 0.92224897, 0.61994304],[0.80936465, 0.02533119, 0.72779562],[0.29421129, 0.35640441, 0.87175173]])
# np.random.random是在[0.0, 1.0) 之间生成随机数字a.sum()
4.818811836180757a.min()
0.025331193574141042a.max()
0.9222489672128614
np.random.randn(3,3)
array([[ 0.94114569, -1.11281987, -0.16988063],[ 0.11768634, 0.16164328, -0.15441487],[-0.18021596, -0.46057389, -0.80320574]])
# 以0为中心的高斯分布
np.random.normal([1,2,3])
array([ 1.49216002, 4.30790776, 2.59977786])
# 正太分布numpy.random.normal(loc=0.0, scale=1.0, size=None)
b = np.arange(24).reshape(6,4)
array([[ 0, 1, 2, 3],[ 4, 5, 6, 7],[ 8, 9, 10, 11],[12, 13, 14, 15],[16, 17, 18, 19],[20, 21, 22, 23]])# 关于 axis: axis=0 是沿着列操作 axis=1 是沿着行操作
b.sum(axis=0)
array([60, 66, 72, 78])b.sum(axis=1)
array([ 6, 22, 38, 54, 70, 86])b.min(axis=1)
array([ 0, 4, 8, 12, 16, 20])b.cumsum(axis=1) # 累计相加 cumulative sum along each row
array([[ 0, 1, 3, 6],[ 4, 9, 15, 22],[ 8, 17, 27, 38],[12, 25, 39, 54],[16, 33, 51, 70],[20, 41, 63, 86]], dtype=int32)
【numpy学习笔记】数组的创建和基本运算相关推荐
- numpy 学习笔记
numpy 学习笔记 导入 numpy 包 import numpy as np 声明 ndarray 的几种方法 方法一,从list中创建 l = [[1,2,3], [4,5,6], [7,8,9 ...
- 【Numpy学习笔记】
Numpy学习笔记 1. NumPy的详细教程(官网手册翻译) https://blog.csdn.net/xiaoxiangzi222/article/details/53084336 2. 学习笔 ...
- Numpy学习笔记(下篇)
目录 Numpy学习笔记(下篇) 一.Numpy数组的合并与分割操作 1.合并操作 2.分割操作 二.Numpy中的矩阵运算 1.Universal Function 2.矩阵运算 3.向量和矩阵运算 ...
- Go语言学习笔记-数组、切片、map
Go语言学习笔记-数组.切片.map 数组:同一数据类型元素的集合.是值类型,长度固定无法修改 声明格式:var 数组名字 [元素数量] 数据类型 var arr [3] int //声明定义了一个长 ...
- NumPy学习笔记前言
前言目录 NumPy学习笔记前言 NumPy简介 NumPy学习准备 NumPy中文网 NumPy学习笔记前言 这里主要分享一下我个人学习NumPy的笔记,希望大家多多交流学习,这也是我第一次写CSD ...
- Java 学习笔记 - 数组类型互转
Java 学习笔记 - 数组类型互转 数组类型转换 字符串数组 to (Integer.Long.Double)列表 传统方式 Java8 Stream方式 数组 to 数组 字符串数组 to (in ...
- NumPy学习笔记 二
NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- NumPy学习笔记 一
NumPy学习笔记 一 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- c语言中void arrout,c语言学习笔记(数组、函数
<c语言学习笔记(数组.函数>由会员分享,可在线阅读,更多相关<c语言学习笔记(数组.函数(53页珍藏版)>请在人人文库网上搜索. 1.数组2010-3-29 22:40一维数 ...
- 【opencv学习笔记八】创建TrackBar轨迹条
createTrackbar这个函数我们以后会经常用到,它创建一个可以调整数值的轨迹条,并将轨迹条附加到指定的窗口上,使用起来很方便.首先大家要记住,它往往会和一个回调函数配合起来使用.先看下他的函数 ...
最新文章
- 哈佛大学惊人发现:新冠对人类未来影响巨大!
- python截图识别文字_用百度ocr+微信截图实现文字识别
- android跨进程事件注入(程序模拟用户输入)
- C#中的表达式与运算符
- meta 标签的详细使用
- 洛谷P1007 独木桥(贪心)
- 《数据挖掘概念与技术》第三版 范明 孟小峰译 课后习题答案(一)
- html视频播放错误怎么办,如何解决播放视频错误代码0xc00d36c4
- 超子的水族箱升级计划
- 2020支付宝五福AR图
- 沃尔什矩阵_大卫·沃尔什(David Walsh):失落的MooTools插件
- STM32:SPI驱动ADXL345
- 64位linux默认内存对齐,Linux内存初始化(汇编部分)
- 一句平静而感人的英文电影对白
- 【桌游】微信小程序——线下桌游预约
- 蓝桥杯CT107D:关于矩阵键盘工作原理及其应用
- 技术分享| 视频监控融合方案
- mysql分片做主从_使用mycat部署mysql集群(分片,读写分离,主从复制)
- canvas入门初探—实现人物移动动画
- 火狐浏览器CSS兼容的解决方法~