Python数据分析 numpy 笔记
B站课链接:【Python数据分析三剑客:NumPy、Pandas与Matplotlib】 https://www.bilibili.com/video/BV1Yb4y1g7SV/?p=16&share_source=copy_web&vd_source=e883bdf439c7a2e47e9145990387a56b
014,开始使用numpy
(1),numpy介绍
(2),导入numpy库,并查看numpy版本
#数据分析三剑客
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
np.__version__
(3)实例:读取猫图片的数据
#我自己电脑上的图片(猫咪1.jpg),注意路径是 / ,只有一个/
#图片:其实是数字组成的,三维数组
# RGB 红Red,绿Green,蓝Blue
# RGB 范围:0~255
# plt.imread : 读取图片的数据
cat = plt.imread('C:/Users/romantic/Pictures/Saved Pictures/猫咪1.jpg')
cat
type(cat)
# numpy.ndarray : 多维数组
# nd : n维度,多维
# array : 数组
#查看形状:三维
# (540, 960, 3)
# 高度:540行
# 宽度:960列
# 3 表示的RGB(red,green,blue)的值
cat.shape
#显示图片
plt.imshow(cat)
# (540, 960, 3)
# 图片:3维数据(彩色)
# 2维数据(黑白)
# 视频:4维数据
# (x,540, 960, 3),x表示多少张图片 #一切皆数据,一切皆矩阵(在数据中)
015,创建ndarray数组
ndarray是numpy中表示数组的重要类型
(1),使用np.array() 创建
参数为列表:[1,4,2,5,3]
I = [1,4,2,3,5,6]
n = np.array(I)
n
type(n) #类型
# numpy.ndarray
n.shape #形状,6表示一维数组里有6个元素
# I.shape # 列表没有shape
# 优先级:str>float>int
n = np.array([3.14,2,"hello"])
n
(2),使用np的routines函数创建
(2.1)ones
n = np.ones(shape=(3,4)) #3行4列
n
n = np.ones(shape=(3,4,5),dtype=np.int16) # 3个二维数组,每个二维数组是4行5列,类型为整型
# n = np.ones(shape=(3,4,5),dtype=int)
n
(2.2)zeros
n = np.zeros((5,5),dtype=np.int16) # 5行5列,类型为整型
n
(2.3)full
n = np.full(shape=(3,4),fill_value=2) # 3行4列,所有元素都为2
n
(2.4)eye
#对角线为1,其他位置为0的二维数组
#单位矩阵:主对角线都是1,其他都是0
n = np.eye(6,6,dtype=np.int8) # 6行6列,类型为整型
n
# k=2:向右偏移2个位置
n = np.eye(6,6,k=2,dtype=np.int8)
n
# k=-2:向左偏移2个位置
n = np.eye(6,6,k=-2,dtype=np.int8)
n
(2.5)linspace
#等差数列
# 1,3,5,7,9
n = np.linspace(0,100,num=51,dtype=np.int16) #0~2占了一份,其他2~100中间有50份
n
# endpoint=False
n = np.linspace(0,100,num=51,endpoint=False)# 不包含100
n
#retstep=True : 显示步长
n = np.linspace(0,100,num=51,retstep=True)
n
(2.6)arange
n = np.arange(10) # 0~9,不包含10
n
n = np.arange(2,10) # 2~9,不包含10
n
n = np.arange(2,10,2) # 2~9,不包含10,步长为2
n
(2.7)random.randint
# 随机整数,范围:[0,3]
n = np.random.randint(3)
n
# 随机整数,范围:[3,10]
n = np.random.randint(3,10)
n
# 随机整数:一维,一维数组里有6个元素
n = np.random.randint(3,10,size=6)
n
# 随机整数:二维,3行4列
n = np.random.randint(3,10,size=(3,4))
n
# 随机整数:三维,也可以理解为:3个二维数组,每个二维数组是4行5列
n = np.random.randint(3,10,size=(3,4,5))
n
(2.8)random.random
n = np.random.random(size=(3,4))
n
017,ndarray常用属性
cat.shape # 三维数组
# (540, 960, 3)
# 第一个维度:540
# 第二个维度:960
# 第三个维度:3
# 有几个数字就表示几维
cat.ndim # 维度
cat.size # 总数据量 540*960*3
cat.dtype # 元素类型
# uint8:无符号整数
018,索引操作(以下代码直接截图了)
根据索引修改数据
019,切片操作
一维与列表完全一致,多维同理
020,翻转操作
021,数组变形reshape
使用reshape函数
022,数组的级联合并
(22.1)np.concatenate()
- 参数是列表或元组
- 级联的数组维度必须相同
- 可通过axis参数改变级联的方向
(22.2)np.hstack 与 np.vstack
- 水平级联与垂直级联
023,数组的拆分/切分/分割
025,聚合函数
(25.1)np.sum 和 np.nansum (nan:not a number)
- nan:数值类型,not a number:不是一个正常的数值,表示空
- np.nan:float类型
029,数组的快速排序
030,文件IO操作
(30.1)保存数组
- save:保存ndarray到一个npy文件
- savez:将多个array保存到一个npz文件中
生成的文件
(30.2)读取数组
(30.3)csv,txt文件的读写操作
031,练习题讲解1
(31.1)创建一个长度为10的一维全为0的ndarray对象,然后让第5个元素等于1
(31.2)创建一个元素为从10到49的ndarray对象
(31.3)将第2题的所有元素位置反转
(31.4)使用np.random.random创建一个10*10的ndarray对象,并打印出最大最小元素
(31.5)创建一个10*10的ndarray对象,且矩阵边界全为1,里面全为0
第1种方法
第2种方法
(31.6)创建一个每一行都是从0到4的5*5矩阵
032,练习题讲解2
(32.1)给定一个4维矩阵,如何得到最后两维的和?
(32.2)给定数组[1,2,3,4,5],如何得到在这个数组的每个元素之间插入3个0后的新数组
(32.3)给定一个二维矩阵,如何交换其中两行的元素?
(32.4)矩阵的每一行的元素都减去该行的平均值
(32.5)打印出如下矩阵(要求使用np.zeros创建8*8的矩阵)
Python数据分析 numpy 笔记的更多相关文章
- Python数据分析-Numpy数值计算
Numpy介绍: NumPy是高性能科学计算和数据分析的基础包.它是pandas等其他各种工具的基础. NumPy的主要功能: 1)ndarray,一个多维数组结构,高效且节省空间 2)无需循环对整组 ...
- python数据分析Numpy(二)
Numpy (Numerical Python) 高性能科学计算和数据分析的基础包: ndarray,多维数组(矩阵),具有矢量运算能力,快速.节省空间: 矩阵运算,无需循环,可以完成类似Matlab ...
- 《Python 数据分析》笔记——pandas
Pandas pandas是一个流行的开源Python项目,其名称取panel data(面板数据)与Python data analysis(Python 数据分析)之意. pandas有两个重要的 ...
- Python数据分析——numpy基础简介
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:基因学苑 NumPy(Numerical Python的简称)是高性 ...
- 《Python数据分析》笔记1 ——Numpy
Numpy数组 1.Numpy数组对象 Numpy中的多维数组称为ndarray,他有两个组成部分. 1.数据本身 2.描述数据的元数据 2.Numpy的数值类型 bool: 布尔型 inti:其长度 ...
- Python数据分析:Numpy学习笔记
Numpy学习笔记 ndarray多维数组 创建 import numpy as np np.array([1,2,3,4]) np.array([1,2,3,4,],[5,6,7,8]) np.ze ...
- python数据分析 Numpy基础 数组和矢量计算
NumPy(Numerical Python的简称)是Python数值计算最重要的基础包.大多数提供科学计算的包都是用NumPy的数组作为构建基础. NumPy的部分功能如下: ndarray,一个具 ...
- python数据分析入门笔记[1]
1.Numpy: Numpy是python科学计算的基础包,它提供以下功能(不限于此): (1)快速高效的多维数组对象naarray (2)用于对数组执行元素级计算以及直接对数组执行数学运算的函数 ( ...
- Python数据分析numpy库
1.简介 Numpy库是进行数据分析的基础库,panda库就是基于Numpy库的,在计算多维数组与大型数组方面使用最广,还提供多个函数操作起来效率也高 2.Numpy库的安装 linux(Ubuntu ...
- python 数据分析----numpy
NumPy是高性能科学计算和数据分析的基础包.它是pandas等其他各种工具的基础. NumPy的主要功能: ndarray,一个多维数组结构,高效且节省空间 无需循环对整组数据进行快速运算的数学函数 ...
随机推荐
- 【Azure 事件中心】Event Hubs中存在非常多的错误数据,是否能提前删除这些数据呢?
问题描述 因为一些特殊原因,Event Hub 里面堆积了很多不需要的数据事件,正常要等事件中的过期时间到后才有Event Hub自动删除掉,但希望能够尽快马上删除,有没有什么手动的方法吗? 问题解答 ...
- 聊聊 HTTP 性能优化
哈喽大家好,我是咸鱼. 作为用户的我们在 "上网冲浪" 的时候总是希望快一点,尤其是抢演唱会门票的时候,但是现实并非如此,有时候我们会遇到页面加载缓慢.响应延迟的情况. 而 HTT ...
- C++ 深拷贝浅拷贝
C++ 深拷贝浅拷贝 C++默认生成的拷贝构造函数,他的行为就是浅拷贝,他只会复制一个一模一样的的指针,并不会操作指针指向的东西. 要想实现我们的逻辑需求,就要自定义拷贝构造函数,实现深拷贝. 我们来 ...
- 用几张图实战讲解MySQL主从复制
本文分享自华为云社区<结合实战,我为MySQL主从复制总结了几张图!>,作者: 冰 河. MySQL官方文档 MySQL 主从复制官方文档链接地址如下所示: http://dev.mysq ...
- 3D模型+BI分析,打造全新的交互式3D可视化大屏开发方案
背景介绍 在数字经济建设和数字化转型的浪潮中,数据可视化大屏已成为各行各业的必备工具.然而,传统的数据大屏往往以图表和指标为主,无法真实地反映复杂的物理世界和数据关系.为了解决这个问题,3D模型可视化 ...
- Vue前端项目架构梳理
撰写日期:2020-07-23 撰稿人:彭成刚 转载需经本人同意. Vue前端项目架构梳理 后期可以将TypeScript加入到项目来,对参数的数据类型进行更严格的校验. 现在主流就 Vue 和 Re ...
- 摆脱鼠标系列 - vscode 单词自动翻译 快捷键 Alt + Z
为什么 摆脱鼠标系列 - vscode 单词自动翻译 快捷键 Alt + Z 单词函数 省得每次都查字典了 插件名称 translate speaker 翻译朗读者API 截图
- 基于六轴传感器MPU6050的加速度和角度值读取
一 系统简介 1.简介 MPU-60x0 是全球首例 9 轴运动处理传感器.它集成了 3 轴MEMS陀螺仪,3 轴MEMS加速度计,以及一个可扩展的数字运动处理器 DMP(Digital Motion ...
- DRC音频处理算法原理解析及仿真结果
一 概念: 在声学领域中,DRC(Dynamic range compression) 一般用来动态调整音频输出幅值,在音量大时压制音量在某一范围内,在音量小时适当提升音量.通常用于控制音频输出功率, ...
- Linux Char-Driver (字符驱动 摘要)(一)
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...