numpy库数组基础详解(创建方法、数组转换、索引、切片、变形、拼接、分裂等)

前记~IPython的%run命令 常用命令 说明 %magic 显示所有魔术命令 %hist IPython命令的输入历史 %pdb 异常发生后自动进入调试器 %reset 删除当前命令空间中的全部变量或名称 %who 显示IPython当前...
摘要由CSDN通过智能技术生成

 

前记~

IPython的%run命令

     常用命令                                        说明
%magic 显示所有魔术命令
%hist IPython命令的输入历史
%pdb 异常发生后自动进入调试器
%reset 删除当前命令空间中的全部变量或名称
%who 显示IPython当前命令空间中已经定义的变量
%time  statement 给出代码的执行时间,statement表示一段代码
%timeit statement 多次执行代码,计算综合平均执行时间

开始了!

理解一维、二维、多维、高维数据

在这里重点说下高维数据,其余维度与常见的概念一致

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

                  如下面的键值对

数据维度的Python表示

一维数据:列表和集合类型

二维数据:列表类型

多维数据:列表类型

高维数据:字典类型或数据表示格式(JSON、XML、YAML格式等)

NumPy

  • NumPy是一个开源的Python科学计算基础库,一个强大的N维数组对象ndarray
  • 广播功能函数
  • 整合C/C++/Fortran代码的工具
  • 线性代数、傅里叶变换、随机数生成等功能

1、NumPy的引用

import  numpy as np

2、N维数组对象:ndarray

  • 数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据。
  • 设置专门的数组对象,经过优化,可以提升这类用用的运算速度。
  • ndarray是一个多维数组对象,由两部分构成:①实际数据   ②描述这些数据的元数据(数据维度、数据类型等)
  • ndarray数组一般要求所有元素类型相同(同质),数组下标从0开始。

例如,计算A^{2}+B^{3},其中,A和B是一维数组

def pySum():                                    import numpy as np
    a = [0,1,2,3,4]                             def npSum():
    b = [9,8,7,6,5]                                 a = np.array([0,1,2,3,4])
    c = []                                          b = np.array([9,8,7,6,5])
    for i in range(len(a)):                         c = a**2 + b**3
        c.append(a[i]**2 + b[i]**3)                 return c
    return c                                    print(npSum())
print(pySum())

运行结果:[729, 513, 347, 225, 141]

(1)轴(axis):保存数据的维度     

         秩(rank):轴的数量,即有多少个维度

(2)ndarray对象的属性

   属性                                                说明
.ndim 秩,即轴的数量或维度的数量
.shape ndarray对象的尺度,对于矩阵,n行m列
.size ndarray对象元素的个数,相当于.shape中n*m的值
.dtype ndarray对象的元素类型
.itemsize ndarray对象中每个元素的大小,以字节为单位
import numpy as np
np.random.seed(0)    #设置随机数种子,以确保每次程序执行时都可以生成同样的随机数组
x1 = np.random.randint(10,size=6)        #一维数组
x2 = np.random.randint(10,size=(3,4))    #二维数组
x3 = np.random.randint(30,size=(3,4,5))  #三维数组

print("x3 ndim:",x3.ndim)    #每个数组有ndim(数组的维度)、shape(数组每个维度的大小)和size(数组的总大小)属性:
x3 ndim: 3
print("x3 shape:",x3.shape)
x3 shape: (3, 4, 5)
print("x3 size:",x3.size)
x3 size: 60

其他属性包括每个数组元素字节大小的itemsize,以及表示数组总字节大小的属性nbytes,数组的数据类型dtype.一般认为,nbytes跟itemsize和size的乘积大小相等。

(3)ndarray的元素类型

    数据类型                                                         说明
bool 布尔类型,True或False
intc 与C语言中的int类型一致,一般是int32或int64
intp
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值