一、数据与numpy数组的创建

1、 python数组的创建

python中的固定类型数组:

python中提供了几种将数组存储在有效的、固定类型的数据缓存中的选项。内置的数组(array)模块可以创建按统一类型的密集数组:

这里的“i”表示的是一个数据类型码,表示数据为整型。

更实用的是ndarray数组对象,Python的数组对象提供了数组类型的有效存储,而Numpy为该数据加上了高效的操作。稍后将会介绍这些操作,这里先集中展示创建Numpy数组的方法:

2、 Numpy数组的创建

从python列表创建数组:

  • 创建整数型
  • 指定类型创建数组
  • 根据内容,自动创建对应数据类型

创建np数组时需要强调元素类型的一致。如果类型不同则会自动向上转换。

2.1dtype参数进行强制类型转换或类型指定

2.2生成嵌套数组

手动创建嵌套数组

使用公式嵌套数组

3、11中创建ndarray数组的高效创建方法

面对大型数组,用Numpy数组时,用Numpy内置方法从头创建数组时一种高效的方法,以下是几个示例:

3.1 创建一个元素都为0 的n * m 的多(2)维数组

np.zeros((维度,行数,列数),dtype = "指定类型(float32/int32/str)")

  • 创建一个10列元素类型为浮点型的数组,在仅指定一个参数时,创建的表示一行,指定列数,默认为浮点型。
  • 创建一个3行4列元素类型为整数型的数组, 仅指定两个参数时,表示的是行数和列数。
  • 创建一个2维3行4列元素类型为整数型的数组, 指定三个参数时,表示的是维度,行数和列数。

3.2 创建一个元素都为1的n*m的多(3)维数组

np.ones((维度,行数,列数),dtype = "指定类型(float32/int32/str)")

  • 传维度参数的时候,放在一个容器中,可以是元组,也可以是列表

3.3创建一个的整数型数组,数组的值是一个线性序列。

np.arange(start[真包含], end[假包含], step)

  • 创建一个从0开始30结束,步长为3的数组
  • 创建一个从1开始30结束的数组
  • 创建一个长度到10结束的数组

3.4创建一个50个元素的数组,这50个数均匀地分配到1~10

np.linspace(start, stop, 平均分成的分数)

3.5 创建一个在0-1之间随机分布的由随机数组成的数组

np.random.random((维度,行数, 列数))

  • 创建一个3列的随机数数组
  • 创建一个3行3列的随机数数组
  • 创建一个3维3行3列的数组

其他生成随机数的方法

  • 创建一个服从标准正态分布的数组

np.random.randn(维度,行数,列数)

  • 创建均匀分布[0,1)上的数组

np.random.rand(维度,行数,列数)

3.6 创建一个正态分布的随机数数组

np.random.normal(均值, 方差, (维度,行数, 列数))

  • 创建一个均值为0,方差为1,3维3行3列的随机数数组

3.7创建一个服从设置区间的随机数整数型的数组

np.random.randint(start, stop, (维度,行数, 列数))

  • 创建从0开始10结束,3维3行3列的整数型数组

3.8 创建一个对角线元素都为1,其他位置元素都为0的单位矩阵

np.eye(行数,列数,dype=’元素类型(默认为浮点型)’)

  • 创建一个4列的单位矩阵,如果仅指定一个参数,默认为列数,行数会默认为是列数。
  • 创建一个4行3列的单位矩阵

3.9创建一个由m*n维未初始化的数组,数组的值是内存空间中的任意值

np.empty(n)

3.10 创建一个指定元素的对角矩阵

Np.diag(n)

  • 创建对角元素为1,2,3,4的对角矩阵

3.11创建一个指定行列,和指定内容的数组

Np.full((维度,行数,列数),指定值(可以是一个数组,也可以是一个列表或嵌套列表))

  • 创建一个3维3行5列,值全部为3.14的数组

二、数组的基本操作

1、查看Nddaray属性

数组的属性:

  • 数组的维度:ndim
  • 数组每个维度的大小:shape
  • 数组的总大小(元素的总个数):size
  • 数组类型:dtype
  • 数组元素字节大小:itemsize;nbytes

现在我们定义三个数组, 一维数组, 二维数组, 三维数组,为了确保大家都能生成一样的数组, 我们先设置随机数种子。

Np.random.seed可以使生成随机数时可以生成一样的随机数

1.1查看数组的形状

1.2查看数组的维度

1.3 查看数组的总大小

1.4查看数组的数据类型

1.5查看数组中每个元素的大小(所占用内存的大小)

1.6查看数组的总大小(占用内存的大小)

1.7对数组进行转置

1.8其他查看属性的方法

Ndarray.flags

有关数组的内存布局的信息。

Ndarray.shape

数组维数组。

Ndarray.ndim

数组维数,在Python世界中,维度的数量被称为rank。

Ndarray.data

Python缓冲区对象指向数组的数据的开始。

Ndarray.size

数组中的元素总个数。

Ndarray.itemsize

一个数组元素的长度(以字节为单位)。

Ndarray.dtype

数组元素的数据类型。

Ndarray.T

数组的转置。

2.Numpy数据类型以及类型转换

Numpy中的数组比 Python 原生中的数组(只支持整数类型与浮点类型)强大的一点就是它支持更多的数据类型。

2.1 numpy基本数据类型

Numpy常见的基本数据类型如下:

数据类型

描述

bool_

布尔(True或False),存储为一个字节

int_

默认整数类型(与C long相同;通常为int64或int32)

intc

与C int(通常为int32或int64)相同

intp

用于索引的整数(与C ssize_t相同;通常为int32或int64)

int8

字节(-128到127)

int16

整数(-32768到32767)

int32

整数(-2147483648至2147483647)

int64

整数(-9223372036854775808至9223372036854775807)

uint8

无符号整数(0到255)

uint16

无符号整数(0到65535)

uint32

无符号整数(0至4294967295)

uint64

无符号整数(0至18446744073709551615)

float_

float64的简写。

float16

半精度浮点:符号位,5位指数,10位尾数

float32

单精度浮点:符号位,8位指数,23位尾数

float64

双精度浮点:符号位,11位指数,52位尾数

complex_

complex128的简写。

complex64

复数,由两个32位浮点(实数和虚数分量)

complex128

复数,由两个64位浮点(实数和虚数分量)

虽然有这么多的数据类型,但是我们平时用的时候仅需要知道(int,bool,float,complex,str)这几种就可以了,暂时不需要去记这么多。

这些类型都可以在创建ndarray的时候通过dtype来制定

2.2数据类型的转换

数组直接数据类型的转换首选是.astype()方法,或者使用类型本身作为函数。

numpy创建三维空数组_numpy数组的创建和属性转换相关推荐

  1. python创建一个空集合_Python中如何创建集合

    #创作者招募令# 第六十七节:创建集合 集合作为序列形式的一种,在Python中也有应用. 先来看看集合在数学中的定义:集合(aggregate)是"确定的一堆东西",集合里的&q ...

  2. numpy随机生成01矩阵_NumPy数组基本介绍

    本文作者:孙晓玲 文字编辑:钱梦璇 技术总编:张   邯 NumPy是短语"Numerical Python"的缩写,NumPy库是一个功能强大的Python库,主要用于对多维数组 ...

  3. c++随机打乱数组_NumPy数组基本介绍

    本文作者:孙晓玲 文字编辑:钱梦璇 技术总编:张   邯 NumPy是短语"Numerical Python"的缩写,NumPy库是一个功能强大的Python库,主要用于对多维数组 ...

  4. python 创建空的numpy数组_Numpy入门教程:01. 数组的创建与属性

    背景 什么是 NumPy 呢? NumPy 这个词来源于两个单词 -- Numerical和Python.其是一个功能强大的 Python 库,可以帮助程序员轻松地进行数值计算,通常应用于以下场景: ...

  5. 用numpy如何创建一个空数组?

    导读 最近在用numpy过程中,总会不自觉的需要创建空数组,虽然这并不是一个明智的做法,但终究是可能存在这种需求的.本文简单记录3种用numpy生成空数组的方式. 我们的目标是创建一个指定列数.但空无 ...

  6. python定义一个空数组_在NumPy中如何创建一个空的数组/矩阵?

    如何以我通常使用列表(List)的方式使用Numpy数组或矩阵? 我想创建一个空的数组(或矩阵),然后每次添加一列(或行)到这个数组(或矩阵). 目前能想到的方法是: mat = None for c ...

  7. NumPy — 创建全零、全1、空、arange 数组,array 对象类型,astype 转换数据类型,数组和标量以及数组之间的运算,NumPy 数组共享内存

    NumPy 简介 一个用 python 实现的科学计算包.包括: 1.一个强大的 N 维数组对象 Array : 2.比较成熟的(广播)函数库: 3.用于整合 C/C++ 和 Fortran 代码的工 ...

  8. numpy学习(2):数组创建方式

    一.前言 Numerical Python,即数值Python包,是Python进行科学计算的一个基础包,所以是一个掌握其他Scipy库中模块的基础模块,一定需要先掌握该包的主要使用方式. 官网:ht ...

  9. python 三维数组_NumPy处理图像不香吗?我用Python把秋日里最美的景色做成了这种效果~...

    不知不觉中秋天悄悄的来了,天气开始转凉,每天匆匆忙忙的在路上,顾不得身边的变化,一抬眼,竟因秋叶久久驻足,今天我用Python把秋日里最美的景色做成了这种效果:NumPy做图像处理不香吗?先上图↓ 一 ...

最新文章

  1. Quartz.NET在ASP.NET 中使用
  2. Spring Boot + BeetlSQL + H2数据库项目整合
  3. gan 总结 数据增强_[NLP]聊一聊,预处理和数据增强技术
  4. intellij idea14.1 卡顿问题解决
  5. 《终于有人说出来了——Java不适合于作为主要编程教学语言》我的看法
  6. 代码讲解java_主要代码的讲解
  7. [ShapeInferenceError] Mismatch between number of source and target dimensions. Source=1 Target=0
  8. Mint-ui框架Index List 的应用,以及高度的适配问题
  9. 路普达-区块链系统开发项目之DAPP
  10. 【已解决】请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个 <customErrors> 标记
  11. android开发:Android 中自定义属性(attr.xml,TypedArray)的使用
  12. 开课吧python小课学了有用吗-Python学得好,升职加薪下班早
  13. 根据自身工作经验总结的一个工作问题解决思路
  14. anaconda怎么打开python3.7,使用anaconda更新到python 3.7
  15. Java菜鸟入坑——字符串中输出数字
  16. What do you think about this itinerary?
  17. JavaSE入门:面向对象(三)
  18. html不对齐表格的实现
  19. C语言编程>第十周 ⑦ 请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行……
  20. ubuntu 18.04取消自动锁屏功能

热门文章

  1. C++获取多维数组维数
  2. Halcon算子学习:create_surface_model
  3. pandas基础知识
  4. 杨辉三角变形(高效解析)
  5. Python编程从入门到实践~字典
  6. LiteIDE 编写Go的单元测试
  7. Ant 简单示例+环境变量配置说明
  8. vue 实现数据滚动显示_vue实现动态添加数据滚动条自动滚动到底部的示例代码...
  9. oracle不空顺序输出,Oracle应用笔记
  10. 编程之美 - 哪个题目最美?