学习numpy快速入门教程 心得体会(1)
一、numpy的主要对象
NumPy的主要对象是同构多维数组。例如,在3D空间中的一个点坐标为[1, 3, 5]具有一个轴(只有一层[ ]),轴中有3个元素,所以我们说它长度为3。另外,多维数组中轴的数量即为维度的数量(有多少层[ ],轴就有多少个,维度就有多少个,一般我们常用二维数组矩阵)。
二、ndarray
对象有着许多重要的属性
ndarray.ndim - 数组的轴(维度)的个数。
ndarray.shape - 数组的维度。其类型为一个整数元组,对于一个矩阵(n*m),它的shape就是(n,m)
ndarray.size - 数组元素的总数。对于一个矩阵(n*m),其值就是n*m
ndarray.itemsize - 数组中每个元素的字节大小。例如,对于float64类型,其值为8(64/8)
对于complex32 类型,其值为4(32/8)
针对第一和第二点展开举例:
import numpy as np
a = np.arange(6).reshape(2, 3) #构造一个二维的数组
b = np.array([6., 7., 8.]) #自定义一个一维的数组(即行向量),传入的参数是一个列表类
print(a)
print(a.ndim)
print(a.size)
print(a.itemsize)
print("#########")
print(b)
print(b.ndim)
print(b.size)
print(b.itemsize)
得到:
[[0 1 2]
[3 4 5]]
2
6
4
#########
[6. 7. 8.]
1
3
8
ps:细心的小伙伴会发现其实python中数组与列表在表现形式上只是相差了中间的间隔符“ , ”
三、数组创建
1.你可以使用array函数从常规Python列表或元组中创建数组。
例如:
import numpy as np
a = np.array([1, 2, 3])
b = np.array((4, 5, 6))
print(a)
print("######")
print(b)
得到:
[1 2 3]
######
[4 5 6]
2.array
还可以将序列的序列转换成二维数组,将序列的序列的序列转换成三维数组...
例如:
import numpy as np
a = np.array([(1, 2, 3), (4, 5, 6)])
print(a)
得到:
[[1 2 3]
[4 5 6]] #转换成了一个二维数组
3.也可以在创建时显式指定数组的类型:
例如:
import numpy as np
c = np.array([[1, 2], [3, 4]], dtype=complex)
print(c)
得到:
[[1.+0.j 2.+0.j]
[3.+0.j 4.+0.j]]
4.其他独特的数组创建
函数zeros创建一个全是0组成的数组;函数ones创建一个全是1组成的数组;函数empty创建一个内容随机,默认为float64类型的数组;函数arange创建元素成等差的一维数组。
例如:
import numpy as np
a = np.zeros((2, 3, 4))
b = np.ones((3, 4), dtype=np.int64)
c = np.empty((2, 3))
d = np.arange(10, 30, 5)
e = np.arange(0, 0.6, 0.2)
print(a)
print(b)
print(c)
print(d)
print(e)
得到:
[[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]]
[[1 1 1 1]
[1 1 1 1]
[1 1 1 1]]
[[4.76660078e+180 2.90601812e+132 1.23478419e-259]
[3.00755678e+161 3.12121749e+209 2.88225533e+214]]
[10 15 20 25]
[0. 0.2 0.4]
学习numpy快速入门教程 心得体会(1)相关推荐
- Python3数据分析——NumPy快速入门教程(官网教程翻译)
目录 一.基础篇 1.创建数组 2.打印数组 3.基本运算 4.通用函数(ufunc) 5.索引,切片和迭代 二.形状操作 1.更改数组的形状 2.组合(stack)不同的数组 3.将一个数组分割(s ...
- python科学计算教学_Python最好用的科学计算库:NumPy快速入门教程(二)
形状操作 首先导入numpy库 >>> import numpy as np 改变数组的形状 数组的形状由每个维度的元素的数量决定. >>> a = np.floo ...
- 《Python数据分析基础教程:NumPy学习指南(第2版)》笔记1:第一章 NumPy快速入门
NumPy快速入门 1.1 Python NumPy是基于Python的,因此在安装NumPy之前,需要先安装Python.某些操作系统已经默认安装有Python环境,但仍需检查Python的版本是否 ...
- sklearn快速入门教程:(五)集成学习
sklearn快速入门教程–(五)集成学习 一.集成学习简述 集成学习是目前各类竞赛和工程中应用最广泛的模型提升方法.比如在kaggle中就有关于集成学习的介绍(Kaggle模型融合原文).这里所谓的 ...
- 良心推荐 最适合新手学习的Matlab快速入门教程
MATLAB 快速入门教程(一) 一.关于MATLAB的基本操作和介绍 1. 如何打开matlab的文件 2. 如何运行一段代码 3. some tips about matlab 1. 如何打开ma ...
- sklearn快速入门教程:(三)机器学习的通用模式及实现方法
一.从线性回归总结机器学习的通用模式 从上篇博客我们详细讲述了线性回归的实现方式.线性回归的调用方式实际上是sklearn的典型方式,在掌握这个方法之后我们继续进一步深入,探索其它的模型的使用. 回顾 ...
- sklearn快速入门教程:(二)线性回归
文章目录 一.从本文起学会快速阅读和学习 二.线性回归的原理回顾及官方文档 三.官方文档的分析 四.举一反三 五.小结 一.从本文起学会快速阅读和学习 本来是想把关于快速阅读的说明写在前一节,但最后还 ...
- sklearn快速入门教程:(一)准备工作
sklearn快速入门教程 – 准备工作 1. 前言 sklearn全称 scikit-learn,它是一个集成了目前市面上最常用的机器学习模型的库,使用起来非常轻松简单,因此获得了广泛的应用. 从官 ...
- 深度学习工程应用快速入门
课程介绍 伴随人工智能时代的到来,深度学习技术也发挥着越来越重要作用,越来越多的技术人才开始投身入这一行业中,并希望发展成为一名深度学习算法工程师.然而,在实际的工程设计中,深度学习研发者总会面临着各 ...
最新文章
- 物竞天择,适者生存,架构进化之路
- Requirejs定义模块
- Python lambda表达式
- java icmp_java – 为什么没有ICMP指令?
- [BZOJ]1095 Hide捉迷藏(ZJOI2007)
- 谷歌宣布关闭Google TV,由Android TV接任
- OpenShift 4 - DevSecOps Workshop (10) - 向Stage环境部署应用镜像
- Java 拷贝,你能说出个 123 么?
- MiniApp微信小程序入口在安卓手机桌面
- 产品经理该如何做竞品分析
- Android Studio导入项目运行出现大量警告,且报错GC,解决办法
- neatupload上传文件配置
- 华为NP课程笔记15-Eth-Trunk与高级VLAN
- nginx 工作原理
- AWSS3文件断点下载,分片上传,断点续传
- 苹果屏蔽更新描述文件_安装iOS屏蔽更新描述文件教程方法
- Layui表单的验证
- ros服务器打开网页变慢了,解决ros 在计算机没有限速情况下,有几个网站打开很慢,或者打不开。...
- 佐切的第三天学习分享
- 读书笔记:Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks
热门文章
- [生存志] 第144节 礼乐复教化
- 【Automation License Manager】西门子软件的授权逻辑及一些兼容性问题
- 拉普拉斯------图拉普拉斯
- 用U盘做启动盘安装ubuntu系统
- 用Python下载抖音无水印视频!
- vue 报错 !!vue-style-loader!css-loader?{“sourceMap“:true}!.
- 刘澎:全球技术竞争加剧背景下,PG具有生态稀缺性
- 联通服务器光信号亮红灯移动,网络光信号一直闪红灯
- 从字节流到字符流之Java文件读写
- 全球及中国工程担保行业项目规模分析与投资战略决策报告2022版