文章目录
- 1.numpy简介
- 2.安装numpy
- 3.ndarry : numpy库的心脏
- 3.1 创建数组
- 3.2数据类型
- 3.3dtype
NumPy是用Python.进行科学计算,尤其是数据分析时,所用到的一个基础库。它是大量Python
数学和科学计算包的基础,比如后面要讲到的pandas)库就用到了NumPy。pandas库专门用于数据
分析,充分借鉴了Python标准库NumPy的相关概念。而Python标准库所提供的内置工具对数据分
析方面的大多数计算来说都过于简单或不够用。
1.numpy简介
Pytho语言诞生不久,开发人员就产生了数值计算的需求,更为重要的是,科学社区开始考
虑用它进行科学计算。
1995年,Jim Hugunin开发了Numeric,这是第一次尝试用Python进行科学计算。随后又诞生了
Numarray包。这两个包都是专门用于数组计算的,但各有各的优势,开发人员只好根据不同的使用
场景,从中选择效率更高的包。由于两者之间的区别并不那么明确,开发人员产生了把它们整合为
.个包的想法。Travis Oliphanti遂着手开发NumPyl库,并于2006年发布了它的第一个版本(v1.0)。
从此之后,NumPy成为Python科学计算的扩展包。如今,在计算多维数组和大型数组方面,
它是使用最广的。此外,它还提供多个函数,操作起数组来效率很高,还可用来实现高级数学运
算。
当前,NumPyz是开源项目,使用BSD许可证。在众多开发者的支持下,这个库的潜力得到了
进一步挖掘。
2.安装numpy
pip install numpy
3.ndarry : numpy库的心脏
整个NumPy库的基础是ndarray(N-dimensional array,W维数组)对象。它是一种由同质元素
组成的多维数组,元素数量是事先指定好的。同质指的是几乎所有元素的类型和大小都相同。事
实上,数据类型由另外一个叫作dtype(data-ype,数据类型)的NumPy对象来指定;每个ndarray
只有一种dtype类型。
数组的维数和元素数量由数组的型(shape)来确定,数组的型由N个正整数组成的元组来指
定,元组的每个元素对应每一维的大小。数组的维统称为轴(axes),轴的数量被称作秩(rank)。
NumPy数组的另一个特点是大小固定,也就是说,创建数组时一旦指定好大小,就不会再发
生改变。这与Python的列表有所不同,列表的大小是可以改变的。
定义ndarray最简单的方式是使用array()函数,以Python列表作为参数,列表的元素即是
ndarray的元素。
import numpy as np
a = np.array([1,2,3])
print(a[1])
3.1 创建数组
数组的创建方法有几种,最常用的就是前面你见过的,使用arry()函数,参数为单层或嵌套列表。
import numpy as np
a = np.array([[1,2,3],[1,2,3]])
print(a)
除了列表,array()函数还可以接收嵌套元组或元组列表作为参数。
a = np.array(((1,2,3),(1,2,3)))
print(a)
此外,参数可以是由元组或列表组成的列表,其效果相同。
a = np.array(((1,2,3),[1,2,3],(1,2,3)))
print(a)
3.2数据类型
到目前为止,我们只使用过简单的整型和浮点型数据类型,其实NuPy数组能够包含多种数据类型。
3.3dtype
array()函数可以接收多个参数。每个ndarray()对象都有一个与之相关联的dtype对象,该对
象唯一定义了数组中每个元素的数据类型。array()函数默认根据列表或元素序列中各元素的数
据类型,为ndarray()对象指定最适合的数据类型。但是,你可以用dtypej选项作为函数array()
的参数,明确指定dtypel的类型。
例如,如要定义一个复数数组,可以像下面这样使用dtype选项:
a = np.array(((1,2,3),[1,2,3],(1,2,3)),dtype=complex)
print(a)