Python数据分析与可视化------NumPy第三方库

2023-11-07

目录

数据的维度

NumPy

CSV文件

多维数据的存取

NumPy的便捷式文件截取

NumPy的随机数函数子库

NumPy的统计函数

NumBy的梯度函数

图像的数组表示

图像的变换


数据的维度

  • 维度:
    • 一组数据的组织形式
    • 一维数据
      • 由对等关系的有序或无序数据构成,采用线性方式组织
      • 列表和集合类型
      • 列表和数组
        • 数组
          • 数据类型相同     
        • 列表
          • 数据类型可以不同
        • 一组数据的有序结构
    • 二维数据
      • 由多个一维数据构成,是一维数据的组合形式
      • 列表类型
      • 表格
    • 多维数据
      • 由一维数据或多维数据在新维度的扩展
      • 列表类型
    • 高维数据
      • 仅用最基本的二元关系展示数据间的复杂结构
      • 字典类型或数据表示格式

NumPy

  • NumPy是一个开源的Python科学计算基础库
    • 一个强大的N维数组对象 ndarray
    • 广播功能函数
    • 整合C/C++/Fortran代码的工具
    • 线性代数,傅里叶变换,随机数生成等功能
  • NumPy引用:
    • import numpy as np
  • N维数组对象 ndarray
    • 传统:for循环
    • import numpy as np
      def npSum():
          a = np.array([0,1,2,3,4])
          b = np.array([9,8,7,6,5])
      
          c = a**2 + b**3
          return c
      print(npSum())

    • 一个维度所有数据的类型往往相同,数组对象采用相同的数据类型,有助于节省运算和存储空间

      • 一般要求所有元素类型相同(同质),数组下标从0开始

    • ndarray由两部分构成

      • 实际数据

      • 描述这些数据的元数据(数据维度,数据类型)

    • 实例

      • np.array() 生成一个ndarray数组

      • ndarray在程序中的别名是:array

      • np.array() 输出成[]形式,元素由空格分隔

      • axis轴:数据维度

      • rank秩:轴的数量

    • ndarray对象的属性

    • ndarray的元素类型

      •  

    • ndarray数组的创建方法
      • 从Python中列表,元组等类型创建
        • x=np.array(list/tuple)
        • x=np.array(list/tuple,dtype=np.float32)
        • 列表类型创建 元组类型创建 列表元组混合创建
      • 使用NumPy中函数创建
      • ndarray数组的变换
        • 维度变换
        • 元组类型变换
      • 从字节流创建
      • 从文件中读取特定格式
    • ndarray数组的操作
      • 数组的索引和切片
        • 索引
          • 获取数组中特定位置元素的过程
        • 切片
          • 获取数组元素子集的过程
    • ndarray数组的运算

CSV文件

  • CSV(Comma-Separated Value,逗号分隔值)
  • CSV是一种常见的文件格式,用来存储批量数据
  • 格式
    • np.savetxt(frame,array,fmt='%.18e',delimiter=None)
    • frame:文件,字符串或产生器,可以是.gz或.bz2的压缩文件
    • array:存入文件的数组
    • fmt:写入文件的格式,如:%d %.2f %.18e
    • delimiter:分隔字符串,默认是任何空格
  • 例子:
    • a = np.arange(100).reshape(5,20)
      np.savetxt('a.csv',a,fmt = '%d',delimiter=',')
    • ​​ 
  • 格式
    • np.loadtxt(frame,dtype=np.float,delimiter=None,unpack=False)
    • frame:文件,字符串或产生器,可以是.gz或.bz2的压缩文件
    • dtype:数据类型,可选
    • delimiter:分隔字符串,默认是任何空格
    • unpack:如果True,读入属性将分别写入不同变量
  • 例子
    • b = np.loadtxt('a.csv',delimiter = ',')
  •  CSV文件的局限性
    • CSV只能有效存储一维和二维数组
    • np.savetxt() np.loadtxt() 只能有效存取一维和二维数组

多维数据的存取

  • a.tofile(frame,sep='',format='%s')     
    • 没有维度信息,将元素逐一列出
    • 二进制文件比文本文件占用更小的空间
  • np.fromfile(frame,dtype=float,count=-1,sep='')
    • frame:文件,字符串
    • dtype:读取的数据类型
    • count:读取元素个数,-1表示读入整个文件
    • sep:数据分割字符串,如果是空串,写入文件为二进制

NumPy的便捷式文件截取

  • np.save(frame,array)或np.savez(fname,array)
    • frame:文件名,以.npy为扩展名,压缩扩展名为,npz
    • array:数组变量
  • np.load(fname)
    • fname:文件名,以.npy为扩展名,压缩扩展名为,npz

NumPy的随机数函数子库

  • np.random的随机数函数

NumPy的统计函数

NumBy的梯度函数

图像的数组表示

  • RGB色彩模式
    • 取值范围:
      • 都是0-255
  • PIL库
    • from PIL import Image
      • Image是PIL库中代表一个图像的类(对象)
  • 图像是一个由像素组成的二维数组,每个元素是一个RGB值

图像的变换

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python数据分析与可视化------NumPy第三方库 的相关文章

  • scipy 将一个稀疏矩阵的所有行附加到另一个稀疏矩阵

    我有一个 numpy 矩阵 想在其中附加另一个矩阵 这两个矩阵的形状为 m1 shape 2777 5902 m2 shape 695 5902 我想将 m2 附加到 m1 以便新矩阵的形状为 m new shape 3472 5902 当
  • 如何在 Windows 64 上安装 NumPy?

    NumPy 安装程序在注册表中找不到 python 路径 无法安装 需要 Python 2 5 版本 但在注册表中未找到该版本 OK 我必须修改注册表吗 我已经修改了 PATH 以指向Python25安装目录 我可以检查一下您使用的是什么安
  • 递归 lambda 表达式可能吗?

    我正在尝试编写一个调用自身的 lambda 表达式 但我似乎找不到任何语法 或者即使它是可能的 本质上我想将以下函数传输到以下 lambda 表达式中 我意识到这是一个愚蠢的应用程序 它只是添加 但我正在探索可以在 python 中使用 l
  • Sublime Text 插件开发中的全局 Python 包

    一 总结 我不知道 Sublime Text 插件开发人员如何使用 Sublime Text 查找全局 Python 包 而不是 Sublime Text 目录的 Python 包 Sublime Text使用自己的Python环境 而不是
  • 使用 pygame 显示 unicode 符号

    我检查了其他答案 但不明白为什么我的代码错误地显示 This is what I currently see https i stack imgur com 8tNIK png 这是关于文本渲染的相关代码 font pygame font
  • Pandas:GroupBy 到 DataFrame

    参考这个关于 groupby 到 dataframe 的非常流行的问题 https stackoverflow com questions 10373660 converting a pandas groupby object to dat
  • 保留完整姓氏,在 pandas 列中获取名字的首字母(如果有的话,还有中间名)

    我有一个 pandas 数据框 其中有一列表示几位网球运动员的姓氏和姓名 如下所示 Player 0 Roddick Andy 1 Federer Roger 2 Tsonga Jo Wilfred 我想保留完整的姓氏并获取姓名的首字母和中
  • Python 2.7 中的断言对我来说不起作用示例assertIn

    我的 Mac 上安装了 python 2 7 通过在终端中运行 python v 进行验证 当我尝试使用任何新的 2 7 断言方法时 我收到 AtributeError 我看过http docs python org 2 library u
  • Python3.0 - 标记化和取消标记化

    我正在使用类似于以下简化脚本的内容来解析较大文件中的 python 片段 import io import tokenize src foo bar src bytes src encode src io BytesIO src src l
  • 如何使用文本相似性删除 pandas 数据框中相似(不重复)的行?

    我有数千个数据 这些数据可能相似也可能不相似 使用 python 的默认函数 drop duplicates 并没有真正的帮助 因为它们只检测相似的数据 例如 如果我的数据包含类似以下内容怎么办 嗨 早上好 嗨 早上好 Python 不会将
  • 从扫描文档中提取行表 opencv python

    我想从扫描的表中提取信息并将其存储为 csv 现在我的表提取算法执行以下步骤 应用倾斜校正 应用高斯滤波器进行去噪 使用 Otsu 阈值进行二值化 进行形态学开局 Canny 边缘检测 进行霍夫变换以获得表格行 去除重复行 10像素范围内相
  • Django send_mail SMTPSenderRefused 530 与 gmail

    一段时间以来 我一直在尝试使用 Django 从我正在开发的网站接收电子邮件 现在 我还没有部署它 并且我正在使用Django开发服务器 我不知道这是否会影响它 这是我的 settings py 配置 EMAIL BACKEND djang
  • 使用Python计算目录的大小?

    在我重新发明这个特殊的轮子之前 有没有人有一个很好的例程来使用 Python 计算目录的大小 如果例程能够很好地以 Mb Gb 等格式格式化大小 那就太好了 这会遍历所有子目录 总结文件大小 import os def get size s
  • 通过索引访问Python字典的元素

    考虑一个像这样的字典 mydict Apple American 16 Mexican 10 Chinese 5 Grapes Arabian 25 Indian 20 例如 我如何访问该字典的特定元素 例如 我想在对 Apple 的第一个
  • 将seaborn.palplot轴添加到现有图形中以可视化不同调色板

    将seaborn人物添加到子图中是usually https seaborn pydata org examples cubehelix palette html创建图形时通过传递 ax 来完成 例如 sns kdeplot x y cma
  • 当数据库不是 Django 模型时,是否可以使用数据库中的表?

    是否可以从应用程序数据库中的表获取查询集 该表不是应用程序中的模型 如果我有一个不是名为 cartable 的模型的表 从概念上讲 我想这样做 myqueryset cartable objects all 有没有相对简单的方法来做到这一点
  • Python SSL X509:KEY_VALUES_MISMATCH

    Python HTTPS server from http server import HTTPServer SimpleHTTPRequestHandler import ssl https stackoverflow com a 408
  • Django Admin 中的反向内联

    我有以下 2 个型号 现在我需要将模型 A 内联到模型 B 的页面上 模型 py class A models Model name models CharField max length 50 class B models Model n
  • 双击打开 ipython 笔记本

    相关文章 通过双击 osx 打开 ipython 笔记本 https stackoverflow com questions 16158893 open an ipython notebook via double click on osx
  • 从 pandas DataFrame 中删除少于 K 个连续 NaN

    我正在处理时间序列数据 我在从数据帧列中删除小于或等于阈值的连续 NaN 时遇到问题 我尝试查看一些链接 例如 标识连续 NaN 出现的位置以及计数 Pandas NaN 孔的游程长度 https stackoverflow com que

随机推荐

  • 7个用Python就可以搞副业的方法

    抢茅台 全民开抢1499元的茅台 你抢到过吗 我表弟去年开始到现在抢到30 瓶 一瓶轻松赚1000元 没想到表弟私信我说 他的茅台都是用软件抢的 Python是啥 我是2G网了吗 还有这么好用的工具 不查不知道 一查吓一跳 原来早就有人用P
  • Java 获取当前项目路径

    利用System getProperty 函数获取当前项目路径 String currentPath System getProperty user dir System out println currentPath 输出结果 当前路径
  • 【完整攻略】OPPO手机无密码解锁方法

    全世界有数百万人拥有 OPPO 手机 它以其经济实惠但功能强大的智能手机而闻名 但是 与许多其他人一样 您可能会在某些日子后忘记密码 那么 如果您忘记了 OPPO 手机的密码或图案怎么办 你将如何解锁它 这是一个大问题 在这种情况下 请不要
  • 【Linux核心宝典】Linux 系统目录结构详解 - 01

    作者介绍 我是程序员洲洲 一个热爱写作的非著名程序员 CSDN全栈优质领域创作者 华为云博客社区云享专家 阿里云博客社区专家博主 前后端开发 人工智能研究生 公粽号 程序员洲洲 本文专栏 本文收录于洲洲的 Linux系列专栏 欢迎大家关注本
  • Linux服务器添加永久明细路由

    第一步 写入 etc sysconfig static routes文件 默认在 etc sysconifg目录中是没有这个文件的 需要我们手工创建 etc sysconfig static routes any net 192 168 1
  • 计算机毕设(附源码)JAVA-SSM基于协同过滤算法的个性化智能图书推荐系统

    项目运行 环境配置 Jdk1 8 Tomcat7 0 Mysql HBuilderX Webstorm也行 Eclispe IntelliJ IDEA Eclispe MyEclispe Sts都支持 项目技术 SSM mybatis Ma
  • el-cascader数据绑定值原理之展平操作的算法

    需求级联选择器默认选中全部节点 分析 数据绑定值为二维父子节点id同级数组 1 1 1 1 1 1 2 2 1 2 1 1 这种结构 而数据源是树形结构 所以我们把树形结构转换成如上二维数组结构 算法如下 1 options为树形数据 2
  • “OLT”、“ONU”和“PON”分别是什么意思?三者有什么区别?

    OLT optical line terminal 光线路终端 用于连接光纤干线的终端设备 ONU Optical Network Unit 光网络单元 ONU分为有源光网络单元和无源光网络单 一般把装有包括光接收机 上行光发射机 多个桥接
  • Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000794500000, 576716800, 0)

    linux基于tomcat部署的web应用程序报 Java HotSpot TM 64 Bit Server VM warning INFO os commit memory 0x0000000794500000 576716800 0 f
  • mysql 'performance_schema'.'session_variables' 问题处理

    今天 升级了mysql 5 7 使用mysql workbench时 处理问题 无法连接mysql服务了 先提示 performance schema session variables 不存在 后来提示结构错误 mysql workben
  • linux系统安全检查

    1 使用 last 命令查看下服务器近期登录的账户记录 确认是否有可疑IP登录过机器 检查说明 攻击者或者恶意软件往往会往系统中注入隐藏的系统账户实施提权或其他破坏性的攻击 解决方法 检查发现有可疑用户时 可使用命令 usermod L 用
  • 【网络安全】命令执行漏洞

    命令执行漏洞 命令执行漏洞原理 危害 检测方法 有回显检测方法 分号 从左到右执行 管道符 将见面命令的输入为后面命令的标准输入 后台任务符号 命令从左到右执行 与 逻辑与 前面命令执行成功后才会执行 或 逻辑或 前面执行失败才能执行 反引
  • Java初学疑问之接口为什么能运行Object的方法

    public class CommonTest public static void main String args Animal animal new Dog animal toString 为什么能运行该方法 class Dog im
  • 通过清华大学镜像和pip进行安装

    通过清华大学镜像和pip进行安装 有时候网络不佳时 直接通过pip安装可能会很慢或者不成功 因此可以借助清华镜像 可以在使用pip的时候加参数 i https pypi tuna tsinghua edu cn simple 以gensim
  • 前端实战:小实例1——导航栏

    前言 一个导航栏可看作一个列表 在 HTML 使用 ul 标签和 li 标签元素进行结构表示 在 CSS 中进行样式处理 对应标签元素的具体用法可查看 HTML常见标签介绍 实现思路 使用 div 包装导航栏 用 ul 和 li 标签展示导
  • EasyPoi 数据导入导出,贼方便

    1 maven坐标
  • 银行卡编码规则及检验算法详解

    一 银行卡结构 XXXXXX XXXXXXXXXXXX X 发卡行标识代码 自定义位 校验码 根据ISO标准 银行卡长度一般在13 19位 国际上也有12位的 银联标准卡卡长度一般是在16 19位 双组织卡也有13 19位的 二 发卡行标识
  • grid - 显式网格

    显式网格布局包含 行 列 列 grid template columns page color fff grid padding 1 display grid grid gap 1px grid template rows 50px 100
  • 养生指南 4 : 睡眠 与 外因

    参考 老中医给的100条养生建议 强烈推荐 1 睡眠 1 睡觉 是养生第一要素 睡觉的时间 应该是 晚 21 00 早3 00 因为这个时间是一天的 冬季 冬季主藏 冬季不藏 春夏不长 即第 2 天没精神 早起如在寅时三点至五点 此时切忌郁
  • Python数据分析与可视化------NumPy第三方库

    目录 数据的维度 NumPy CSV文件 多维数据的存取 NumPy的便捷式文件截取 NumPy的随机数函数子库 NumPy的统计函数 NumBy的梯度函数 图像的数组表示 图像的变换 数据的维度 维度 一组数据的组织形式 一维数据 由对等