一、numpy

用NumPy快速处理数据

NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:

矩阵运算

python计算行列式的值 numpy库计算行列式_python计算行列式的值

jupyter快捷键

python计算行列式的值 numpy库计算行列式_数据_02

1、ndarray 对象

ndarray 实际上是多维数组的含义。

在 NumPy 数组中,维数称为秩(rank),一维数组

的秩为 1,二维数组的秩为 2,以此类推。在 NumPy 中,每一个线性的数组称为一个轴

(axes),其实秩就是描述轴的数量。

创建数组

python计算行列式的值 numpy库计算行列式_python的科学计算库有哪些餐厅_03

# 引入numpy模块

import numpy as np

# 创建二维数组

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

print(array,type(array))

[[1 2 3]

[4 5 6]]

获取数组属性值

# ndim 维度的数量

print('维度的数量',array.ndim)

# 维度

print('维度',array.shape)

# 数组元素的个数

print('数组元素的个数',array.size)

# 对象元素的类型

print('对象元素的类型',array.dtype)

# 对象每个元素的大小、以字节为单位

print('对象每个元素的大小、以字节为单位',array.itemsize)

# 对象内存信息

print(' 对象内存信息',array.flags)

特殊函数创建

关键字

array:创建数组

dtype:指定数据类型

zeros:创建数据全为0

ones:创建数据全为1

empty:创建数据接近0

arange:按指定范围创建数据

linspace:创建线段

python计算行列式的值 numpy库计算行列式_NumPy_04

python计算行列式的值 numpy库计算行列式_NumPy_05

python计算行列式的值 numpy库计算行列式_python计算行列式的值_06

# 创建全零数组

# 数据全为0,3行4列

# 默认为float

a = np.zeros((3,4))

print(a)

print(a.dtype)

[[0. 0. 0. 0.]

[0. 0. 0. 0.]

[0. 0. 0. 0.]]

float64

# 创建全为1的数组, 同时也能指定这些特定数据的 dtype:

a = np.ones((3,4),dtype=np.int)

print(a)

print(a.dtype)

[[1 1 1 1]

[1 1 1 1]

[1 1 1 1]]

int32

# 创建全空数组, 其实每个值都是接近于零的数:

a = np.empty((3,4))

print(a)

print(a.dtype)

[[0. 0. 0. 0.]

[0. 0. 0. 0.]

[0. 0. 0. 0.]]

float64

# 用 arange 创建连续数组:

# 10-19 的数据,2步长 arange用来创建数组

a = np.arange(10,20,2)

print(a)

print(a.dtype)

[10 12 14 16 18]

int32

# 使用 reshape 改变数据的形状

# 3行4列 ,0到11

a = np.arange(12).reshape((3,4))

print(a)

print(a.dtype)

[[ 0 1 2 3]

[ 4 5 6 7]

[ 8 9 10 11]]

int32

# 用 linspace 创建线段型数据:

# 开始端为1 ,结束端10,且分割成20个数据,生成线段

a = np.linspace(1,10,20)

print(a)

print(a.dtype)

View Code

结构数组

# 结构数组

import numpy as np

# 定义数组结构

# persontype = np.dtype({

# 'names':['name', 'age', 'chinese', 'math', 'english'],

# 'formats':['S32','i', 'i', 'i', 'f']})

# 也可以这样定义

persontype = np.dtype(

[('name','S32'),( 'age','i'), ('chinese','i'), ('math','i'), ('english','i')]

)

peoples = np.array([("ZhangFei",32,75,100, 90),("GuanYu",24,85,96,88.5),

("ZhaoYun",28,85,92,96.5),("HuangZhong",29,65,85,100)],

dtype=persontype)

ages = peoples[:]['age']

chineses = peoples[:]['chinese']

maths = peoples[:]['math']

englishs = peoples[:]['english']

print(np.mean(ages))

print(np.mean(chineses))

print(np.mean(maths))

print(np.mean(englishs))

28.25

77.5

93.25

93.5

创建随机数组

random.random()函数是这个模块中最常用的方法了,它会生成一个随机的浮点数,范围是在0.0~1.0之间。

指定范围和形状的随机浮点数数组

python计算行列式的值 numpy库计算行列式_NumPy_07

数组的数据类型

python计算行列式的值 numpy库计算行列式_python的科学计算库有哪些餐厅_08

算数运算

通过 NumPy 可以自由地创建等差数组,同时也可以进行加、减、乘、除、求 n 次方和取余数。

# 通过 NumPy 可以自由地创建等差数组,同时也可以进行加、减、乘、除、求 n 次方和取余数。

x1 = np.arange(1,11,2)

x2 = np.linspace(1,9,5)

print('x1:',x1)

print('x2:',x2)

print(np.add(x1, x2))

print(np.subtract(x1, x2))

print(np.multiply(x1, x2))

print(np.divide(x1, x2))

print(np.power(x1, x2))

print(np.remainder(x1, x2))

x1: [1 3 5 7 9]

x2: [1. 3. 5. 7. 9.]

[ 2. 6. 10. 14. 18.]

[0. 0. 0. 0. 0.]

[ 1. 9. 25. 49. 81.]

[1. 1. 1. 1. 1.]

[1.00000000e+00 2.70000000e+01 3.12500000e+03 8.23543000e+05

3.87420489e+08]

[0. 0. 0. 0. 0.]

在取余函数里,你既可以用 np.remainder(x1, x2),也可以用 np.mod(x1, x2),结果是一

样的。

ndarray数组运算

(1)数组与标量之间的运算作用于数组的每一个元素

python计算行列式的值 numpy库计算行列式_python计算行列式的值_09

统计函数

最大值、最小值、平均值,是否符合正态分布,方差、标准差多少等等。它们可以让你更清楚地对这组数据有认知。

python计算行列式的值 numpy库计算行列式_python的科学计算库有哪些餐厅_10

python计算行列式的值 numpy库计算行列式_NumPy_11