Python3NumPy——数组(1)之创建
开篇
numpy库作为科学计算的基础库,其地位相当重要,它是对数组操作的基石。它的存在使得线性代数以及矩阵论等相关知识在计算机上的表达更加方便与简单,集中体现出了人想办法,计算机去工作。
Python的numpy库的安装百度一下即可解决,部分Python3已将numpy库作为内置库,可以不安装。
我将不定期更新Python3NumPy库全系列文章,均以图解方式阐述,其目标让初学者入门简单,快速理解,读者可采用文章后的代码验证即可,也可根据介绍自己举一反三,达到融汇贯通的境界。
本系列文章集中在Numpy库,这也是为后续数据处理打下坚实的基础,适合零基础的数据处理的人员。
1导入模块库numpy
import numpy as np
2一维数组的简单创建

注:np.arange()直接可以根据参数生成一维数组。np.arange(起始, 终止, 步长)
3二维数组的简单创建

注:np.array()可以根据参数对象(列表、元组等)生成数组。
3三维数组的创建-采用嵌套方案

4代码验证吧
>>> import numpy as np
>>> a = np.arange(10)
>>> a
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> a = np.arange(1,10)
>>> a
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> a = np.arange(1,10,3)
>>> a
array([1, 4, 7])
>>> #2D
>>> M = np.array([[1,2],[3,4]]) #参数为列表
>>> M
array([[1, 2],
[3, 4]])
>>> M = np.array(([1,2],[3,4])) #参数为元组
>>> M
array([[1, 2],
[3, 4]])
>>> M = np.array(((1,2),(3,4))) #参数为元组
>>> M
array([[1, 2],
[3, 4]]) >>> M = np.array(((np.arange(3)), (np.arange(3))))
>>> M
array([[0, 1, 2],
[0, 1, 2]])
>>> M.shape
(2, 3)
>>> M = np.array(([np.arange(2)],[np.arange(3)]))
>>> M
array([[array([0, 1])],
[array([0, 1, 2])]], dtype=object)
>>> M.shape
(2, 1)
>>> #3D
>>> M = np.array(([np.arange(2)],[np.arange(2)]))
>>> M
array([[[0, 1]], [[0, 1]]])
>>> M.shape
(2, 1, 2)
Python3NumPy——数组(1)之创建的更多相关文章
- 容器(vector)、数组、new创建的动态数组,你到底用哪一个(执行效率分析)
1.问题的提出 在没有了解vector之前,动态数组一般都是又new创建的.在了解vector后发现vector竟是那样方便好用,但方便的同时却是以牺牲执行效率为代价的.网上对vector和array ...
- matlab结构体、数组和单元数组类型的创建
matlab结构体.数组和单元数组类型的创建 @ 目录 matlab结构体.数组和单元数组类型的创建 matlab结构体类型 数组类型 单元数组类型 matlab结构体类型 通过字段赋值创建结构体 创 ...
- C++中二维数组的动态创建与处理
C++中用new动态创建二维数组的格式一般是这样: TYPE (*p)[N] = new TYPE [][N]; 其中,TYPE是某种类型,N是二维数组的列数.采用这种格式,列数必须指出,而行数无需指 ...
- 数组类的创建——StaticArray.h
创建好的基于顺序存储结构的线性表存在两个方面的问题:1)功能上的问题:数组操作符的重载带来的问题,有可能线性表被无用为数组了,线性表被当做数组来使用了.2)效率方面的问题 本篇博客就要解决功能上的问题 ...
- Java数组(3):创建测试数据
有时我们需要使用数组批量创建测试数据,接下来通过以下4点来举例. (1) 使用Arrays.fill()填充数据 (2) 使用Random类中JDK1.8提供的新方法用来生成随机数 (3) 一个随机数 ...
- Java数组01——声明创建、赋值及特点
数组声明创建 数组的四个基本特点 例子 package array; public class ArrayDemon01 { //变量的类型 变量的名字 = 变量的值 / ...
- Java数组3种创建方式
public static void main(String[] args){ /** * 1. 固定大小的空数组, 动态创建 */ String[] strArr1 = new String[3]; ...
- Python3NumPy——数组(2)之数学空间与NumPy空间
0 介绍 本文承接上一篇,文章采用新的阐述方式,将数学中的表达与NumPy中的函数关联起来. 采用这种方式,可以直接建立数学表达与计算系统的对应关系,更易理解. 由于博客编写时间有限,每次尝试一个知识 ...
- 数组类的创建——DynamicArray.h
完成DynamicArray类的具体实现 DynamicArray设计要点——类模板 动态确定内部数组空间的大小 实现函数返回数组长度 拷贝构造和赋值操作 DynamicArray类的声明 templ ...
随机推荐
- C++基于范围循环(range-based for loop)的陷阱
C++的基于范围的循环是C++11出现的新特性,很方便,一定程度上替代了使用迭代器的for循环用法.不过基于范围的for循环有一个隐藏的陷阱,如果不注意可能会出现严重的内存错误. 举例说明 看下面这个 ...
- 在linux下如何使用yum查看安装了哪些软件包
$yum list installed //列出所有已安装的软件包 yum针对软件包操作常用命令: 1.使用YUM查找软件包 命令:yum search 2.列出所有可安装的软件包 命令:yum li ...
- 单元测试er——为什么真的真的要写单元测试
优点 为什么很多技术或者知识要说优点?因为有些道理看着很简单,大家表面上都觉得对,但是做的时候又不去做或者做不到.其中有一个很重要原因是骨子里或者潜意识并没有真实觉得这是对的,一旦想去做的时候同时会冒 ...
- Redis --> 为redis分配新的端口
为redis分配新的端口 为redis分配一个8888端口,操作步骤如下:1.$REDIS_HOME/redis.conf重新复制一份,重命名为redis8888.conf.2.打开redis8888 ...
- Axure RP初学2
- 使用责任链模式消除if分支实践
之前接手过一个车辆监控的工具,接受第三方推送过来的车辆状态数据然后入库.车辆状态一共有8种之多,每种状态都需要做不同 处理操作.刚接手这份代码时,针对此处处理,是庞大的if-else结构,if-els ...
- mqtt异步publish方法
Python基于mqtt异步编程主要用到asyncio及第三方库hbmqtt,这里主要介绍mqtt的异步发布及遇到的一些问题. hbmqtt安装很简单,pip hbmqtt install. mqtt ...
- Sublime 、NotePad++中查找匹配中文字符
在Sublime .NotePad++中可以使用正则表达式 [\x{4e00}-\x{9fa5}] 查找匹配中文字符.
- networkx 学习
import networkx as nx import pylab import numpy as np #自定义网络 row=np.array([,,,,,,]) col=np.array([,, ...
- xShell终端下中文乱码问题
今天,可能是因为不小心中途打断了xShell更新,结果打开xShell发现里面的中文全成了乱码.于是去网上查了一下原因. 更新xshell(xshell5)以及其他终端中文乱码的原因无非有三种 (1 ...