Python科学计算 - 1 Numpy库

Posted timkk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python科学计算 - 1 Numpy库相关的知识,希望对你有一定的参考价值。

Numpy本身并没有提供多么高级的数据分析功能,理解 Numpuy 数组以及面向数组的计算将有助于你更加高效的使用诸如 pandas 之类的工具

 

Pyhton 中用列表保存一组值,可将列表当成是数组使用。此外,Python 有 array 模快,但他不支持多维数组,无论是列表还是 array 模块都没有科学运算函数,不适合做矩阵等科学计算。因此,Numpy没有使用 Python 本身的数组机制,而是提供了 ndarray 数组对象,该对象不断能方便的存取数组,而且拥有丰富的数组计算函数,比如向量的加法、减法、乘法等。

使用 ndarray 数组,首先需要导入 Numpy 函数库,也可以直接导入该函数库:

from numpy import *

或指定导入库的别名(在引入多个库的时候,推荐使用这个方法)。

import numpy as np

 

 

1、创建数组:

a = np.array([[1,2,4.0],[3,6,9]])

 

# 查看行数
a.ndim

#2

 

# 查看数组的维数,返回(n,m), 其中 n 为行数,m 为列数。
a.shape

#(2,3)

 

# 查看元素的类型,比如 numpy.int32、numpy.float64
a.dtype

#dtype(‘float64‘)

 

2、Numpy的特殊数组主要有以下几种:

  • zeros数组:全零数组,元素全为0;
  • ones数组:全1数组,元素全为1;
  • empty数组:空数组,元素全近似为0;

np.zeros((2,3))

array([[ 0.,  0.,  0.],
       [ 0.,  0.,  0.]])

 

np.ones((3,4))

array([[ 1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.]])

 

1.3 序列数组

arange函数:他与 Python 的 range 函数相似,但他属于Numpy 库,其参数依次为:开始值、结束值、步长

np.arange(1,20,5)
array([ 1,  6, 11, 16])

 

我们还可以使用 linspace 函数创建等差序列数组,其参数依次为:开始值、结束值、元素数量

np.linspace(0,2,9)
array([ 0.  ,  0.25,  0.5 ,  0.75,  1.  ,  1.25,  1.5 ,  1.75,  2.  ])

 

1.4 数组索引?

Numpy 数组的每个元素、每行元素、每列元素都可以用索引访问,不过注意:索引是从 0 开始的。

其操作与列表基本相同。

 

a = np.array([[1,2,4.0],[3,6,9]])

# 取 a 的第一行元素
a[0]

array([ 1.,  2.,  4.])

 

# 取 a 的第二列元素
a[:,1]

array([ 2.,  6.])

 

# 取 a 的第一行的第三个元素
a[0,2]

4.0

 





















以上是关于Python科学计算 - 1 Numpy库的主要内容,如果未能解决你的问题,请参考以下文章

python能做啥科学计算

Python科学计算库-Numpy

Python科学计算库-Numpy

Python科学计算库Numpy

python科学计算库

Python科学计算库NumPy基础操作