1. 实现两个数组相加,在数据量特别大的时候

产生数组:

(1)  从列表产生数组:a=[0,1,2,3]

a=np.array(1)

a

(2)  从列表传入

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

(3)  生成全0的数组

np.zeros(5)

(4)  生成全1的数组

np.ones(5,dtype=’bool’)àdtype可以用来指定数据类型

(5)  可以使用fill方法将数组设为指定值

(6)  生成整数序列

a=np.arange(1,10)从1开始生成数据,一直到9

(7)  生成等差数列

a=np.linspace(1,10,10)从1到10总共10个等差数列

(8)  生成随机数

a=np.random.rand(10)

(9)  生成具有服从标准正态的随机数

a=np.random.randn(10)

(10)  生成随机整数

a=np.random.randint(10)

2. 查看类型

(1)  查看数组类型

type(a)

(2)  查看数组中的数据类型

a.dtype

(3)  查看形状

a.shape

(4)  查看数组元素的个数

a.size

(5)  查看维度

a.ndim

3. 索引和切片

(1)  索引第一个元素

(2)  修改第一个元素的值,切片:支持负索引

4. 多维数组及其属性

可以利用array来实现二维数组

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

[5,6,7,8]])

5. 多维数组索引

对于二维数组,可以传入两个数来索引:

[[1,2,3,4],

[5,6,7,8]]

a[1,3]à其中1是行索引,3是列索引,中间用逗号隔开,事实上python会将他们看作一个元组(1,3),然后按照顺序进行对应,可以利用索引给他们赋值

事实上,我们还可以使用单个索引来索引一整行内容

a[1]

python会将这个单元组当成对第一维的索引,然后返回对应的内容

a[:,1]

这样的写法是第二列的内容

6. 多维数组切片

f=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])

想得到第一行的第4和第5个元素

f[0,3:5]

想得到最后两行的最后两列

f[2:,2:]

每一维都支持切片的规则,包括负索引

想要隔行取:f[2::2,2::2]

7. 切片是引用

切片在内存中使用的是引用机制,引用机制意味着python并没有为b分配新的空间来存储他的值,而是让b指向a所分配的内存空间,因此b会改变a的值,而这种现象在列表中并不会出现

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

b=a[1:4]

b[1]=100

此时a的对应的值会发生改变

一个解决方案就是使用copy()方法产生一个复制,复制操作即会申请一个新的空间

8. 花式索引

(1)  一维花式索引

a=np.arange([0,100,10])

index=[1,2,-3]

y=a[index]

y

索引出来的即为10,20,70

(2)  利用布尔数组花式索引

(3)  二维花式索引

(4)  不完全索引

只给定行索引的时候,返回整行

y=a[:3]

9. where语句

where函数会返回所有非零元素的索引

(1)  一维数组

判断数组中的元素是不是大于3

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

a>3

则会返回[false false false true true true]

若要数组中所有大于3的元素的索引位置:

np.where(a>3)

where返回值是一个元组,返回的是索引位置

10.数组类型转换

(1)  当数组内元素类型不相同时

a=np.array([1.3,-2],dtype=float)

(2)  将其强制转换

(3)  astype方法-返回一个新数组

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

b=a.astype(float)

11.数组排序

(1)  sort函数

a=np.array([3212,4343,2121,5442])

b=np.sort(a)

(2)  argsort函数

argsort返回从小到大的排列在数组中的索引位置

(3)

12.求和np.sum()

13.最大值np.max()

14.最小值np.min()

15.均值np.mean()

16.标准差np.cov()

python学习笔记-Day2 Numpy数组的更多相关文章

  1. 吴裕雄--天生自然Numpy库学习笔记:NumPy 数组属性

    NumPy 数组的维数称为秩(rank),秩就是轴的数量,即数组的维度,一维数组的秩为 1,二维数组的秩为 2,以此类推. 在 NumPy中,每一个线性的数组称为是一个轴(axis),也就是维度(di ...

  2. Python 学习笔记之 Numpy 库——数组基础

    1. 初识数组 import numpy as np a = np.arange(15) a = a.reshape(3, 5) print(a.ndim, a.shape, a.dtype, a.s ...

  3. Python学习笔记 - day2 - PyCharm的基本使用

    什么是IDE 开始学习的小白同学,一看到这三个字母应该是懵逼的,那么我们一点一点来说. 既然学习Python语言我们就需要写代码,那么代码写在哪里呢? 在记事本里写 在word文档里写 在sublim ...

  4. Python 学习笔记之 Numpy 库——文件操作

    1. 读写 txt 文件 a = list(range(0, 100)) a = np.array(a) # a.dtype = np.int64 np.savetxt("filename. ...

  5. 吴裕雄--天生自然Numpy库学习笔记:Numpy 数组操作

    import numpy as np a = np.arange(8) print ('原始数组:') print (a) print ('\n') b = a.reshape(4,2) print ...

  6. Python学习笔记——Day2

    一.集成开发环境 集成开发环境(IDE,Integrated development Enviroment)是用于提供程序开发环境的应用程序,一般包括代码编辑器.编译器.调试器和图形用户界面等工具.集 ...

  7. [python学习笔记]Day2

    摘要: 对象 对于python来说,一切事物都是对象,对象基于类创建: 注:查看对象相关成员 var,type,dir 基本数据类型和序列 int内部功能 class int(object): def ...

  8. Python学习笔记三,数组list和tuple

    list也就是列表的意思,可以存储一组数据集合,比如classmates=['zhangsan','lisi','123']每个数据用单引号包裹,逗号隔开.

  9. python学习笔记Day2

    字符编码 编程规范(PEP8) 变量1.常量(用大写) 2.变量 常用类型:str .int.float. long.bool 字串格式化: %d 整数 %2d占两位 %02d占两位用0填充 %f 浮 ...

随机推荐

  1. linux中一些特殊的中文文件不能删除问题

    例: [root@iZ2zecl4i8oy1rvs00dqzeZ tmp]# ,),(,,' [root@iZ2zecl4i8oy1rvs00dqzeZ tmp]# echo "rm -rf ...

  2. netstat -na 查看有大量TIME_WAIT解决办法(修改内核参数)

    # netstat -an|awk '/tcp/ {print $6}'|sort|uniq -c      16 CLOSING     130 ESTABLISHED     298 FIN_WA ...

  3. 关于 flask 实现数据库迁移以后 如何根据创建的模型类添加新的表?

    在此之前 我们先说一下常规的flask运用第三方扩展来实现数据库的迁移的三个步骤以及每步的目的. 数据库的迁移的三个步骤:(cd 到run.py所在路径) python run.py db init ...

  4. Linux CentOS7 开启80,443端口外网访问权限

    一.查看系统防火墙状态(如果返回 running 代表防火墙启动正常) firewall-cmd --state 二.开启端口外网访问 1.添加端口 返回 success 代表成功(--permane ...

  5. darknet源码解析

    https://blog.csdn.net/u014540717/article/category/6513159

  6. springcloud-app

    https://gitee.com/vmaps/springcloud-app https://yq.aliyun.com/articles/329019?spm=a2c4e.11153940.blo ...

  7. 启发式合并&线段树合并/分裂&treap合并&splay合并

    启发式合并 有\(n\)个集合,每次让你合并两个集合,或询问一个集合中是否存在某个元素. ​ 我们可以用平衡树/set维护集合. ​ 对于合并两个\(A,B\),如果\(|A|<|B|\),那么 ...

  8. Log Parser Studio 分析 IIS 日志

    Log Parser Studio 分析 IIS 日志 来源 https://www.cnblogs.com/lonelyxmas/p/8671336.html 软件下载地址: Log Parser ...

  9. 【HDU - 4927】Series 1

    BUPT2017 wintertraining(15) #5I 题意 输出序列A[1..n]的第n-1阶差分(一个整数). 题解 观察可知答案就是 \[ \sum_{i=0}^{n-1} {(-1)^ ...

  10. Qt Creator 搭配Git 版本控制

    再次介绍一下Git的使用,这次是在Coding.net上部署项目的.这个是写给大作业合作的小伙伴们(我和我的A奶朋友们和某A的男朋友)看的. 安装Git 首先安装Git(msysGit) 下载地址 h ...