[Python] Numpy库

来源:互联网 发布:什么是数据透视表 编辑:程序博客网 时间:2024/06/10 06:16

NumPy是一个开源的Python科学计算基础库,包含:

  • 一个强大的N维数组对象 ndarray
  • 广播功能函数
  • 整合C/C++/Fortran代码的工具
  • 线性代数、傅里叶变换、随机数生成等功能

NumPy是SciPy、Pandas等数据处理或科学计算库的基础

  • 包的下载与导入
  • ndarray
    • 创建
    • 属性
    • 元素类型
    • 数组的变换
      • 维度变换
      • 类型变换
      • 列表变换

包的下载与导入

Numpy 包,如果已安装annaconda可直接使用,如果没有,也可以自行搜索下载

导入常用别名 np

import numpy as np

ndarray

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

  • 实际的数据
  • 描述这些数据的元数据(数据维度,数据类型等)

ndarray 数组内元素类型一般要求相同(也可不同,不过这样就和list区别不大了),数组下标从0开始。

它能够从整体来描述一个数据集,能够以整体的形式进行两个数组的运算比较等操作。

创建

  1. 直接使用 np.array() 参数为一个列表
>>> a = np.array([[0,1,2,3,4],                 [5,6,7,8,9]])

属性

[[0,1,2,3,4]],[5,6,7,8,9]]为例

  1. 使用 .ndim 获取维度信息
>>> a.ndim>>> 2
  1. 使用 .shape 获取数组的形状
>>> a.shape>>> (2,5)
  1. 使用 .size 获取数组的大小(元素个数)
>>> a.size>>> 10
  1. 使用 .dtype 获取数组内元素的存储类型,(默认值与操作系统有关)
>>> a.dtype>>> dtype('int64')
  1. 使用 .itemsize 获取数组内单个元素的大小(字节)
>>> a.itemsize>>> 8

元素类型

  • ndarray 没有 double 类型

  • 支持复数类型 complex64 , complex128

  • 常见的类型:int , uint, float , bool

    • 后缀16,32,65代表字节长度

数组的变换

维度变换

  1. 使用 .reshape(shape) 不改变数组元素,返回一个shape形状的数组,原数组不变,shape为数组形状。

注意要保证改变形状后的数组元素与之前一致

>>> a = np.array([[1,2,3,4,5],[6,7,8,9,10]])>>> b = a.reshape([5,2])>>> [[ 1  2  3  4  5] [ 6  7  8  9 10]]>>> [[ 1  2] [ 3  4] [ 5  6] [ 7  8] [ 9 10]]

原先2*5的数组a 变为5*2的数组b

  1. 使用 .resize(shape).reshape() 功能一致

  2. 使用 .swapaxes(ax1,ax2) 调换两个维度

>>> a = np.array([[1,2,3,4,5],[6,7,8,9,10]])>>> b = a.swapaxes(0,1)>>> b>>> [[ 1  6] [ 2  7] [ 3  8] [ 4  9] [ 5 10]]

注意与reshape返回的数组的区别

  1. 使用 .flatten() 变为一维数组

类型变换

使用方法 .astype(new_type) 返回一个新的数组

>>> b = a.astype(float32)

列表变换

使用方法 .tolist() 返回一个列表

>>> ls = a.tolist()

a是一个ndarray数组,ls是由这个数组生成的列表

0 0
原创粉丝点击