记录分享工作的点点滴滴

0%

用 numpy 快速处理数据

引言

Python中有个非常重要的第三方库 Numpy, 它不仅是Python中使用最多的第三方库,还是 SciPy、Pandas 等数据科学的基础。Numpy 提供的数据结构比Python 自身更高级更高效,是Python 数据分析的基础。

使用 Numpy 更高效

标准 Python 列表保存数组的元素值可以变化的,因此保存的是对象的指针,元素在系统内存中是分散的。而 Numpy 保存的数组存储在一个均匀连续的内存块中

Numpy 的两个重要对象

ndarry

ndarry (N-dimensional array object) 解决多维数组的问题

一个ndarry 是具有相同类型和大小的多维容器

shape : 表示数据维的元组

dtype : 表示数据的类型

Example-01 : 尺寸为 2 x 3 的二维数组

1
2
3
4
5
6
7
8
尺寸为 2 x 3 的二维数组  
>>> x = np.array([[1,2,3],[4,5,6]],np.int32)
>>> type(x)
<class 'numpy.ndarray'>
>>> x.shape
(2, 3)
x.dtype
dtype('int32')

Example-02 : 尺寸为 3 x 3 x 3 的三维数组

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
>>> y = np.array([[ [ 0,  1,  2],
[ 3, 4, 5],
[ 6, 7, 8] ],

[ [ 9, 10, 11],
[12, 13, 14],
[15, 16, 17] ],

[ [18, 19, 20],
[21, 22, 23],
[24, 25, 26] ]])
>>> type(y)
<class 'numpy.ndarray'>
>>> y.shape
(3, 3, 3)
>>> y.dtype
dtype('int32')

三维数组的三个维度:y[0]、y[1]、y[2] 如下图:

可索引可切片

以上面的二维数组为例:

>>> x[1,2]
    6

ufunc

ufunc(universal function object)则是解决对数组进行处理的函数
未完结……待续…….