一、数据维度

一个数据表达一个含义,一组数据表达一个或多个含义。

数据维度概念:一组数据的组织形式,其中有一维数据、二维数据、多维数据、高维数据。

1、 一维数据

一维数据由对等关系的有序或无序数据构成,采用线性方式组织。

对应:列表、集合

#列表有序

[1,2,3,4,5]#集合无序

{1,2,3,4,5}

2、二维数据

二维数据由多个一维数据构成,是一维数据的组合形式。

对应:列表

[[1,2,3],[4,5,6]]

3、多维数据

多维数据由一维或二维数据在新维度上扩展形成。

对应:列表

[[[1],[2],[3]],[[4],[5],[6]],[[7],[8],[9]]]

4、高维数据

高维数据仅使用最基本二元关系展示数据间的复杂结构。

对应:字典或数据表示格式

#字典一一对应为二元关系

dict={"x1":"1","y1":"2",

}

数据表示格式:JSON、XML、YAML等格式

二、NumPy

1、简介

NumPy是一个开源的科学计算基础库,是SciPy、Pandas等数据处理或科学计算库的基础。

2、主要功能:

(1)、提供了一个强大的N维数组对象ndarray:

优点:

1、数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据。

2、设置专门的数组对象,经过优化可以提升这类应用的运算速度。

3、数组对象采用相同的数据类型,有助于节省运算和存储空间。

实例:

importnumpy as np

a=np.array([1,2,3,4,5])

b=np.array([6,7,8,9,10])

c=[]

c=a**2+b**2

print(c)

(2)、提供了一组广播功能相关的函数,用来在数据间进行计算;

(3)、整合了C/C++/Fortran代码,并提供整合工具;

(4)、提供了线性代数、傅里叶变换、随机数生成等功能用于科学计算。

三、ndarray:

多维数组,由实际数据和描述这些数据的元数据(数据维度、数据类型)两部分构成。

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

np.array()可以生成一个ndarray数组,输出成[]形式,元素由空格分割。

两个属性:

轴(axis):保存数据维度;秩(rank):轴的数量

ndarray对象的属性:

1、ndim:秩,轴数量或维度数量

importnumpy as np

a=np.array([[1,2,3,4,5],[6,7,8,9,10]])print(a.ndim)

2、shape:ndarray对象尺度,即n行m列

importnumpy as np

a=np.array([[1,2,3,4,5],[6,7,8,9,10]])print(a.shape)

3、size:ndarray对象元素个数,为shape中n*m

importnumpy as np

a=np.array([[1,2,3,4,5],[6,7,8,9,10]])print(a.size)

4、dtype:ndarray对象的元素的类型

importnumpy as np

a=np.array([[1,2,3,4,5],[6,7,8,9,10]])print(a.dtype)

5、itemsize:ndarray对象中每个元素大小

importnumpy as np

a=np.array([[1,2,3,4,5],[6,7,8,9,10]])print(a.itemsize)

四、ndarray的相关操作

1、创建:

(1)、从Python中的列表、元组等

importnumpy as np#不声明数据类型,创建时会自动读取类型

nd=np.array(list/tuple)

importnumpy as np#声明数据类型

nd=np.array(list/tuple,dtype=np.int32)

(2)、使用NumPy中函数

函数

说明

arange(n)

返回ndarray类型,元素从0到n-1

ones(shape)

根据shape生成一个全1数组

zeros(shape)

根据shape生成全0数组

full(shape,value)

根据shape生成一个数组,每元素值全为value

eye(n)

一个正方形的n*n单位矩阵,对角线为1,其余为0

ones_like(a)

根据数组a的形状生成一个全1数组

zeros_like(a)

根据数组a的形状生成一个全0数组

full_like(a,value)

根据数组a的形状生成一个数组,每元素值全为value

linspace()

根据起止数据等间距地填充数据,形成数组

concatenate()

根据两个或多个数组合并成一个新数组

arange函数默认是整数类型,其他函数默认为float类型,np.ones((1,2),dtype=np.int32)将ones生成的数组类型为int32。

举例:

【2,20】linspace前闭合后闭合等分:

importnumpy as np

nd=np.linspace(2,20,10)print(nd)

添加endpoint=Flase,【2,20)linspace前闭合后开放等分:

importnumpy as np

nd=np.linspace(2,20,10,endpoint=False)print(nd)

concatenate合并:

importnumpy as np

nd=np.linspace(2,20,10)

nd2=np.linspace(2,10,3)

nd3=np.concatenate((nd,nd2))print(nd3)

(3)、从字节流中

(4)、从文件中读取特定格式

2、变换

(1)、维度变换

reshape(不改变原数组)

importnumpy as np

nd=np.full((2,4,8),6)

a=nd.reshape((8,8))print(a)print()print(nd)

resize(改变原数组)

importnumpy as np

nd=np.full((2,4,8),6)print(nd)print()

nd.resize((8,8))print(nd)

(2)、元素类型变换

astype(返回一个新数组)

importnumpy as np

nd=np.full((2,4,8),6,dtype=int)print(nd)

nd2=nd.astype(np.float)print()print(nd2)

(3)、ndarray数组转化成列表

tolist()

importnumpy as np

nd=np.full((2,4,2),1)print(nd)

nd2=nd.tolist()print()print(nd2)

3、索引

获取数组中特定位置元素的过程。

一维:和python列表的索引方式相同

多维:nd[x,y,z]

importnumpy as np

nd=np.arange(18).reshape((2,3,3))print(nd)print("索引的元素为:"+str(nd[1,2,2]))

4、切片

获取数组元素子集的过程

一维:和python列表的切片方式相同

多维:

importnumpy as np

nd=np.arange(18).reshape((2,3,3))print(nd)print("切出来的:")print(nd[:,:,::2])

5、运算

数组与标量间的计算则为数组中每个元素与标量的计算。

示例:

importnumpy as np

nd=np.arange(18).reshape((2,3,3))print(nd)

nd=nd/2

print("运算结果:")print(nd)

函数如下:

函数

说明

abs(n)

fabs(n)

计算数组各元素的绝对值

sqrt(n)

计算数组各元素的平方根

square(n)

计算数组各元素的平方

rint(n)

各元素四舍五入

modf(n)

各元素的整数和小数部分分成两个独立数组

cos(n)

三角函数

exp(n)

各元素指数值

sign(n)

各元素的符号值,正数显示+,负数显示-,0显示0

log(n)

计算各元素对数

ceil(n)

floor(n)

计算各元素ceiling值或floor值

python中import numpy_Python开发:NumPy学习(一)ndarray数组相关推荐

  1. python多级目录import_深入理解Python中import机制

    大型项目中为了维护方便,通常使用模块化开发,模块化的过程中,就会涉及到各种包或者模块的相互导入,即使是对于有多个项目的Python开发者来说, import 也会让人困惑!本文带你深入了解python ...

  2. python中from是什么意思_听说你还在找python中import与from方法?

    这篇文章主要介绍了python中import与from方法总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 一.模块& ...

  3. python中import os_python中import os什么意思

    python中import os是指导入os模块到当前程序. import import语句有什么用?import语句用来导入其他python文件(称为模块module),使用该模块里定义的类.方法或 ...

  4. Python中import语句用法详解

    一. 什么是模块(module)? 在实际应用中,有时程序所要实现功能比较复杂,代码量也很大.若把所有的代码都存储在一个文件中,则不利于代码的复用和维护.一种更好的方式是将实现不同功能的代码分拆到多个 ...

  5. Python中import导入上一级目录模块及循环import问题的解决

    Python中import导入上一级目录模块及循环import问题的解决 参考文章: (1)Python中import导入上一级目录模块及循环import问题的解决 (2)https://www.cn ...

  6. 计算机语言import,python中import指的是什么意思

    python中import指的是什么意思 发布时间:2020-08-04 09:36:03 来源:亿速云 阅读:92 作者:清晨 这篇文章主要介绍python中import指的是什么意思,文中介绍的非 ...

  7. Python中出现:AttributeError: module 'numpy' has no attribute 'dtype'问题解决

    QUESTION:Python中出现:AttributeError: module 'numpy' has no attribute 'dtype'问题解决 ANWSER: 这个问题可是困扰了我一天的 ...

  8. [转载] python中import问题

    参考链接: 为什么在Python中import星号*是个坏主意 Python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径. 下面将具体介绍几种常用情况: (1 ...

  9. python import random 报错_导致python中import错误的原因是什么

    Python程序可以调用一组基本的函数(即内建函数),比如print().input()和len()等函数.Python本身也内置一组模块(即标准库).每个模块都是一个Python程序,且包含了一组相 ...

最新文章

  1. centos7上开启单用户模式
  2. '$.browser.msie' 为空或不是对象
  3. 通过ifrmae异步下载文档
  4. python字符串赋值与java区别_java和python细节总结和java中string 的+操作
  5. 秒懂云通信:通信圈黑话大盘点
  6. 38 SD配置-销售凭证设置-定义拒绝原因
  7. 如何将数据库中的记录表导入到VC中
  8. 蓝牙耳机声音一顿一顿的_尴尬!vivo无线耳机上线两个月价格大跳水,却仍被批不值...
  9. html设计网页板块,网页设计
  10. python如何将数据生成excel_Python如何将数据导出excel的技巧分享
  11. webstorm中 scss或sass配置自动编译
  12. ftfind 桌面搜索引擎的设计文档 (2)
  13. python怎么画散点图_用python画xy散点图
  14. 读书笔记 - 深入解析Windows操作系统 - C1. 概念和工具
  15. Android TV 焦点控制
  16. JavaScript核心之Document对象概述(document的属性,方法,事件)
  17. vue学习笔记--动画
  18. js 将json数据自动绑定到 html table 表格中
  19. 由浅入深学习Flash制作赛车游戏教程
  20. 【华为思科】访问web服务器

热门文章

  1. Xshell使用xftp传输文件,使用pure-ftpd搭建ftp服务
  2. 《MySQL技术内幕:InnoDB存储引擎第2版》——3.1 参数文件
  3. ZOJ 3820 Building Fire Stations
  4. HostMonitor使用介绍
  5. 程序员的灯下黑:不要忘记你的目标
  6. 基于springboot实现高校学生健康档案管理系统
  7. Spark的RDD转换算子
  8. shadow fight 1.6.0 内购
  9. Java中谈尾递归--尾递归和垃圾回收的比较
  10. Unity热更新技术整理