python学习笔记-Day2 Numpy数组
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数组的更多相关文章
- 吴裕雄--天生自然Numpy库学习笔记:NumPy 数组属性
NumPy 数组的维数称为秩(rank),秩就是轴的数量,即数组的维度,一维数组的秩为 1,二维数组的秩为 2,以此类推. 在 NumPy中,每一个线性的数组称为是一个轴(axis),也就是维度(di ...
- 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 ...
- Python学习笔记 - day2 - PyCharm的基本使用
什么是IDE 开始学习的小白同学,一看到这三个字母应该是懵逼的,那么我们一点一点来说. 既然学习Python语言我们就需要写代码,那么代码写在哪里呢? 在记事本里写 在word文档里写 在sublim ...
- Python 学习笔记之 Numpy 库——文件操作
1. 读写 txt 文件 a = list(range(0, 100)) a = np.array(a) # a.dtype = np.int64 np.savetxt("filename. ...
- 吴裕雄--天生自然Numpy库学习笔记:Numpy 数组操作
import numpy as np a = np.arange(8) print ('原始数组:') print (a) print ('\n') b = a.reshape(4,2) print ...
- Python学习笔记——Day2
一.集成开发环境 集成开发环境(IDE,Integrated development Enviroment)是用于提供程序开发环境的应用程序,一般包括代码编辑器.编译器.调试器和图形用户界面等工具.集 ...
- [python学习笔记]Day2
摘要: 对象 对于python来说,一切事物都是对象,对象基于类创建: 注:查看对象相关成员 var,type,dir 基本数据类型和序列 int内部功能 class int(object): def ...
- Python学习笔记三,数组list和tuple
list也就是列表的意思,可以存储一组数据集合,比如classmates=['zhangsan','lisi','123']每个数据用单引号包裹,逗号隔开.
- python学习笔记Day2
字符编码 编程规范(PEP8) 变量1.常量(用大写) 2.变量 常用类型:str .int.float. long.bool 字串格式化: %d 整数 %2d占两位 %02d占两位用0填充 %f 浮 ...
随机推荐
- python numpy笔记(重要)
1.np.array 的shape (2,)与(2,1)含义 ndarray.shape:数组的维度.为一个表示数组在每个维度上大小的整数元组.例如二维数组中,表示数组的“行数”和“列数”. ndar ...
- array_merge
1.array_merge 中有两个参数:将两个关联数组合并为一个数组 <?php $a1=array("a"=>"red","b&quo ...
- Clover file list
/Volumes/EFI//EFI: total 4 drwxrwxrwx 1 jianweiliu staff 512 Apr 20 12:17 APPLE drwxrwxrwx@ 1 jianwe ...
- const函数
1. const修饰成员函数:表示不可以修改成员变量 class test{ public: test(){ i_ = ; } int Get() const{ //i_ = 0; //error:不 ...
- 了解AutoCAD对象层次结构 —— 6 ——块表记录
块表记录是包裹实体对象的最后一层包装了,接下来让我们继续利用MgdDbg工具查看上一小节创建的块定义内的对象有哪些. 操作步骤如下:选择块表记录TestBlock,在右侧列表中找到“Entities ...
- P1567 气温统计
P1567 题目描述 炎热的夏日,KC 非常的不爽.他宁可忍受北极的寒冷,也不愿忍受厦门的夏天.最近,他开始研究天气的变化.他希望用研究的结果预测未来的天气. 经历千辛万苦,他收集了连续 N(1≤N≤ ...
- Matplotlib学习---用matplotlib和sklearn画拟合线(line of best fit)
在机器学习中,经常要用scikit-learn里面的线性回归模型来对数据进行拟合,进而找到数据的规律,从而达到预测的目的.用图像展示数据及其拟合线可以非常直观地看出拟合线与数据的匹配程度,同时也可用于 ...
- windows环境pip安装时一直报错Could not fetch URL https://pypi.org/simple/xrld/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url:
最近项目不忙了~~有开始专研的python大业,上来想用pip安装一个第三方的库,就一直报错: Could not fetch URL https://pypi.org/simple/xrld/: T ...
- 【XSY2534】【BZOJ4817】树点涂色 LCT 倍增 线段树 dfs序
题目大意 Bob有一棵\(n\)个点的有根树,其中\(1\)号点是根节点.Bob在每个点上涂了颜色,并且每个点上的颜色不同.定义一条路径的权值是:这条路径上的点(包括起点和终点)共有多少种不同的颜 ...
- Android 开发中 SQLite 数据库的使用
SQLite 介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP, ...