美文网首页
NumPy库入门

NumPy库入门

作者: 闫_锋 | 来源:发表于2018-05-16 21:18 被阅读5次

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

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

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

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

多维数据: 例如时间维度

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

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

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

ndarray - 向量化运算

import numpy as np

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

  • 数组对象采用相同的数据类型,有助于节省运算和存储空间。

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

  • 实际的数据
  • 描述这些数据的元数据(数据维度,数据类型等)
  • 所有元素类型相同,数组下标从0开始

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

ndarray数组的创建方法

  • 从Python中的列表,元组等类型创建ndarray数组
  • 使用NumPy中函数创建ndarray数组,如:arange, ones, zeros等
  • 从字节流中创建ndarray数组
  • 从文件中读取特定格式,创建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()

相关文章

  • NumPy库入门

    维度: 一组数据的组织形式 一维数据: 对应列表,数组和集合等概念(线性方式组织) 列表: 数据类型可以不同数组:...

  • numpy库入门

    NumPy NumPy是一个开源的Python科学计算基础库,包含: 一个强大的N维数组对象 ndarray 广播...

  • 机器学习实战入门准备工作

    这里机器学习采用的是python2.7.13版本,安装了numpy库,和matplotlib库。入门工作主要分为三...

  • 看图学NumPy:掌握n维数组基础知识点,看这一篇就够了

    摘要:NumPy是Python的最重要的扩展程序库之一,也是入门机器学习编程的必备工具。国外有位程序员讲NumPy...

  • python数据处理

    一、Numpy库入门 ndarray对象的属性.ndim 秩,即轴的数量或维度的数量.shape ndarray对...

  • Numpy简易入门笔记

    来自 AI基础:Numpy简易入门手动运行了一遍实例代码,笔记待查于此处。 Numpy 简易入门 Numpy是 N...

  • python——numpy库入门(1)

    如果对VBA的数组有略微了解,那么对numpy会有相应的帮助,记得半年前看VBA数组,完全不理解,它还是有些抽象的...

  • python——numpy库入门(2)

    花式索引 它是指利用整数数组进行索引。 为了以特定顺序选取行子集,只需要传入一个用于指定顺序的整数列表或者ndar...

  • python——numpy库入门(3)

    数组转置和轴对换 转置是重塑的一种特殊形式,它返回的是源数据的视图,不会进行复制操作。它有transpose方法和...

  • 图片转numpy数组和numpy数组转图片

    图片转numpy数组 基于PIL库 numpy数组转图片 基于PIL库

网友评论

      本文标题:NumPy库入门

      本文链接:https://www.haomeiwen.com/subject/otdmdftx.html