您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:python

51自学网 2022-02-21 10:37:25
  python
这篇教程python写得很实用,希望能帮到您。

1.NumPy( Numeric Python)

numpy是一个开源的python科学计算扩展库,主要用来处理任意维度数组和矩阵。
相同的任务,使用numpy比直接用python的基本数据结构更加简单高效。

它的功能:

  • 包含一个强大的N维数组对象Ndarray
  • 广播功能函数
  • 整合C/C++代码的工具
  • 线性代数、傅里叶变换、随机数生成等功能

numpyscipy,pandas等数据处理或科学计算库的基础

2.numpy的引用

虽说别名可以省略或者更改,但尽量使用上述约定的别名

3.Ndarray

n维数组,它是一个相同数据类型的集合,以0为下标开始进行集合中元素的索引。
我们知道,python有列表和数组此类的数据结构。

列表:数据类型可以不同(如[3, 2.4 ,‘a’ ,“abc”]),数据是有序的
数组:数据类型相同(如[1,2,3,4])
集合: (如{2,4,3,5,7})数据是无序的

引入n维数组的意义

观察下列两组操作,其功能都是一样的。

import numpy as npdef pysum():    a = [1, 2, 3, 4]    b = [5, 6, 7, 8]    c = []    for i in range(len(a)):        c.append(a[i]**2+b[i]**3)    return cdef numpysum():    a = np.array([1, 2, 3, 4])    b = np.array([5, 6, 7, 8])    c = a**2+b**3    return cprint("使用列表运算的结果是:", pysum())print("使用Numpy运算的结果是:", numpysum())

运行结果:

使用列表运算的结果是: [126, 220, 352, 528]
使用Numpy运算的结果是: [126 220 352 528]

但是很明显:

  • numpy的数组对象可以去掉元素建运算所需要的循环,使一维向量更像单个数据
  • numpy通过设立专门的数组对象,经过优化,运算速度也相应提升

通常情况下,在科学运算中,一个维度所有数据的类型往往相同,这时,使用数组对象采用相同的数据类型,有助于节省运算时间和存储空间

ndarray的组成

  • 实际的数据
  • 描述这些数据的元数据(数据维度、数据类型等)

ndarray对象的属性

3.数据类型

在这里插入图片描述

np.array()不指定dtype时,numpy将根据数据情况关联一个dtype类型

  • ndarray支持多种数据类型的原因
  • python基本语法只支持整数、浮点数和复数3种类型
  • 科学计算涉及数据较多,对存储和性能都有较高要求
  • 对元素类型精细定义,有助于numpy合理使用存储空间并优化性能
  • 对元素类型精细定义,有助于程序员对程序规模有合理评估

ndarray数组的创建

import numpy as npx = np.array([[1, 0], [2, 0], [3, 1]], np.int32)print(x)print(x.dtype)

程序输出:

[[1 0]
 [2 0]
 [3 1]]
int32

在这里插入图片描述

adarray数组的变换

ndarray数组运算

4.索引与切片

  • 索引:获取数组中特定位置元素的过程
  • 切片:获取数组元素子集的过程

5.随机数函数

6.统计函数

7.梯度函数

8.副本与视图

numpy线性代数

数组与标量之间的运算

常用numpy.linalg函数总结

(好家伙,numpy内置函数太多了…)


python
python
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。