NumPy库入门

2018-05-16  本文已影响5人  闫_锋

维度: 一组数据的组织形式

一维数据: 对应列表,数组和集合等概念(线性方式组织)

列表: 数据类型可以不同
数组: 数据类型相同

二维数据: 由多个一维数据构成,是一维数据的组合形式。

多维数据: 例如时间维度

高维数据仅利用最基本的二元关系展示数据间的复杂结构

一维数据: 列表和集合类型
二维数据: 列表类型
多维数据: 列表类型
高维数据: 字典类型或数据表示格式
(JSON, XML和YAML格式)

NumPy的数组对象: ndarray,N维数组对象
广播功能函数
整合C/C++/Fortran代码工具
线性代数,傅里叶变换,随机数生成等功能

ndarray - 向量化运算

import numpy as np

观察: 科学计算中,一个维度所有数据的类型往往相同。

ndarray是一个多维数组对象,由两部分构成:

非同质ndarray对象无法有效发挥NumPy优势,尽量避免使用。

ndarray数组的创建方法

(1)从Python中的列表,元组等类型创建ndarray数组

x = np.array(list/tuple)
x = np.array(list/tuple, dtype=np.float32)

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

np.arange(n)
np.arange(10)

np.ones(shape)
np.ones((3,6))
np.ones((3,6), dtype=np.int32)
np.ones((2,3,4), dtype=np.int32)

np.zeros(shape)


np.full(shape, val)


np.eye(n)
np.eye(5)


np.one_like(a)
np.zero_like(a)
np.full_like(a, val)

np.linspace()
np.linspace(1, 10 ,4)
np.linspace(1, 10 ,4, endpoint=False)

np.concatenate()

对于创建后的ndarray数组,可以对其进行维度变化和元素类型变换

a = np.ones(2, 3, 4), dtype = np.int32)
.reshape(shape)
.resize(shape) #改变原数组
.swapaxes(ax1, ax2)
.flatten()


a = np.ones((2, 3, 4), dtype=np.int32)
a = reshape((3, 8))
a.flatten() #降维

a.astype(new_type) #创建新数组
ls = a.tolist()
上一篇 下一篇

猜你喜欢

热点阅读