【Numpy学习笔记1】numpy安装、维度、基本运算、改变数据形态
1.Numpy使用场景
- 需要批量处理数据的时候
- 机器学习,人工智能这些需要进行海量数据运算处理的地方
- 写游戏里面的物体运行逻辑时,经常涉及到矩阵、向量运算
- 机器人模拟环境,背后的环境反馈信息,全是靠批量数据算出来的
- 任何需要做统计的时候(爬虫爬完了信息后) 画图表之前,要对数据做一轮批量处理
- Blah blah
2.Numpy安装【Windows】
win + r 进入控制面板,输入cmd,回车进入终端
用pip安装
在终端输入:pip install numpy
回车即可进行安装
如果是Python3.x版本,用pip3 install numpy
进行安装检查是否安装成功:
①在终端输入python
进入python环境
②输入import numpy
,没有错误提示,则表示安装成功。
3. Numpy array
Numpy array的一大优势就是速度快!
import numpy as np
arrayName = np.array([1,2,3]) #numpy的array和list的查询、更新、删除是相同的,#不同的是array存储的数据是相同类型的,按照顺序存储在内存里,操作array的速度更快
print(arrayName, type(arrayName))
print("arrayName[1]=",arrayName[1])
arrayName[1] = 99 #通过下标修改
print("after modified, arrayName[1]=",arrayName[1])
运行结果:
4.数据维度
- 创建数据
np.array()
array.ndim:返回数据维度 - 添加数据
np.concatenate()
np.expand_dims() - 合并数据
np.concatenate()
np.vstack() #用于二维数据
np.hstack() - 观察形态
array.size array.shape
5.数据选取
- 单个选取
array[1]
array[1,2,3]
array[1][1]
array[[1,2]] - 切片划分
array[:3]
array[2:4, 1:3] - 条件筛选
array[array<0]
np.where(array, array < 0)
import numpy as np
b = np.array([
[1,2,3,4],
[5,6,7,8],
[9,10,11,12],
[13,14,14,15]])print("b[2]=", b[2]) #查看第二行所有数据(从0列开始)
print("b[2,1]=", b[2,1])#查看第二行第一列的值
#切片,格式:(起始坐标:结束坐标:间隔)左闭右开
print("b[0:4:2]=", b[0:4:2]) #第0行、2行
print("b[0:4:2, 0:2:1]=",b[0:4:2, 0:2:1] ) #第0行、2行,第0列、第2列,逗号表示行列的分隔符#条件筛选array[ condition,]
# np.where(condition,x,y)当满足condition,将此处的值更改为x,否则改为y
condition = b > 6
print("condition =", condition)
print("b[condition]=", b[condition])
print("np.[condition,1]=", np.where(condition,1,b)) #满足条件的替换为1,不满足条件的不替换
运行结果:
6运算
加减乘除
±*/
np.dot()
数据统计分析
np.max() np.min() np.sum() np.prod() np.count()
np.std() np.mean() np.median()
特殊运算符号
np.argmax() np.argmin()
np.ceil() np.floor() np.clip()
import numpy as np
arrayA = np.array([122.2,156.3,723.1])
arrayB = np.array([12,16,1])#加减乘除操作是直接对array的值进行操作,用列表的名字就可以操作
print("+",arrayA + 0.1)
print("-",arrayA - 0.1)
print("*",arrayA * 0.1)
print("/",arrayA / 0.1)#点乘积
print("dot",arrayA.dot(arrayB))
print(arrayB)#最值、求和
print("max", arrayA.max())
print("min", arrayA.min())
print("max_index", arrayA.argmax())
print("min_index", arrayA.argmin())print("sum", arrayA.sum())
#大小
print("size", arrayA.size)
#平均值
print("mean",arrayA.mean())
#标准差
print("std", arrayA.std())
#上下限截取,低于下限的按照下限处理
print("arrayA.clip(100,200)", arrayA.clip(100,200))
运行结果:
7 改变数据形态
- 改变形态
array[np.newaxis, :]
array.reshape()
array.ravel(), array.flatten()
array.transpose() - 合并
np.column_stack(), np.row_stack()
np.vstack(), np.hstack(), np.stack()
np.concatenate() - 拆解
np.vsplit(), np.hsplit(), np.split()
import numpy as np
arrayA = np.array([1,2,3,4,5,6,7,8]).reshape([2,4])#增加维度,np.expand_dims(array,axis ),
#原来的维度(2,4),扩展后:
# axis=0 ———>(1,2,4)
# axis=1 ———>(2,1,4)
# axis=2 ———>(2,4,1)
print(np.expand_dims(arrayA,axis =2).shape) #打印(2,4,1)
print(arrayA.shape)
#reshape
print(arrayA.reshape([2,1,4])) #[层数、行数,列数]
#转置
print(arrayA.shape)
print(arrayA.transpose().shape)
#分割,np.split(array, indices_or_sections, axis)
#indices_or_sections等于整数时,表示均分,是数组时,表示按照print(np.split(arrayA, indices_or_sections =4 , axis=1)) #分割和维数拓展都是np下的函数
print(np.split(arrayA, indices_or_sections =[1,3] , axis=1)) #在 第一列右边、第三列右边切割
运行结果:
【Numpy学习笔记1】numpy安装、维度、基本运算、改变数据形态相关推荐
- numpy 学习笔记
numpy 学习笔记 导入 numpy 包 import numpy as np 声明 ndarray 的几种方法 方法一,从list中创建 l = [[1,2,3], [4,5,6], [7,8,9 ...
- NumPy学习笔记前言
前言目录 NumPy学习笔记前言 NumPy简介 NumPy学习准备 NumPy中文网 NumPy学习笔记前言 这里主要分享一下我个人学习NumPy的笔记,希望大家多多交流学习,这也是我第一次写CSD ...
- 【Numpy学习笔记】
Numpy学习笔记 1. NumPy的详细教程(官网手册翻译) https://blog.csdn.net/xiaoxiangzi222/article/details/53084336 2. 学习笔 ...
- Numpy学习笔记(下篇)
目录 Numpy学习笔记(下篇) 一.Numpy数组的合并与分割操作 1.合并操作 2.分割操作 二.Numpy中的矩阵运算 1.Universal Function 2.矩阵运算 3.向量和矩阵运算 ...
- NumPy学习笔记 一
NumPy学习笔记 一 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- NumPy学习笔记 二
NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- numpy学习笔记:np.zeros应用——生成三通道全黑Mask(蒙版)
numpy学习笔记:np.zeros应用--生成三通道全黑Mask(蒙板) np.zeros官方文档:np.zeros官方文档 下面是一段生成256*256三通道全黑mask的demo import ...
- tensorflow学习笔记一:安装调试
denny的学习专栏 徐其华 博客园 首页 新随笔 联系 管理 订阅 随笔- 129 文章- 0 评论- 791 tensorflow学习笔记一:安装调试 用过一段时间的caffe后,对caff ...
- STM32F103CUBE学习笔记 一 环境安装
STM32F103CUBE学习笔记一 stm32cubemx安装 jre安装 stm32cubemx安装 stm32cubemx创建工程 准备工作 配置时钟 KEIL PACK安装 keil安装 st ...
最新文章
- 改变人生的32句励志名言
- 嵌入式环境:挂载开发板根NFS文件系统失败
- javascript初级代码块
- python怎么一直循环_python 基础之while无限循环
- PowerBI功能发布时间线
- css3直线运动_纯css3实现曲线运动——贝塞尔曲线(cubic-bezier)
- selenium 示例_Selenium findElement和findElements示例
- 2021年ARINC818数字视频传输重磅新品–Helios
- 计算机环境变量怎么恢复默认,环境变量怎么还原
- 十进制和二进制如何换算?
- U盘文件丢失选择什么数据恢复软件好
- PhotoShop批量生成App大小不同的Icon
- python随机生成验证码,数字+大小写字母
- Kubernetes基础:包含多个容器的Pod
- 5 极限存在准则及两个重要极限
- 南信大计算机科学与坫,校园万象 | 南信大开启无处不在“i-NUIST”模式,疑难问题,为你一一解答!...
- 我有八千元,买苹果手机还是安卓呢?
- 易语言支持库制作学习笔记
- 中基鸿业投资理财这五点要学会
- 基于物联网技术的智能实验室系统设计与实现