Numpy的基础入门总结

Numpy的基础入门总结1

  1. nmupy的介绍
    num ----- numerical 数值化的
    py ------- python
    其中ndarray是numpy中非常重要的对象
    n ----- 任意
    d ----- 维度
    array ----- 数组

  2. 为什么使用Numpy
    numpy运算效率更加快捷
    ndarray的优势:
    1.储存风格
    ndarray -相同类型,因此是连续储存的 -通用性不强
    list - 不同类型 - 通用性很强
    2.并行化运算
    ndarray 支持向量化(并行化)运算
    3.底层语言
    numpy底层使用C语言编写,内部解除了GIL(全局解释器锁),对数组运算效率不受Python解释器限制。

  3. 生成数组的方法
    1).生成0、1的数组:np.zeros()、np.ones()
    2).从现有的数组生成:
    np.array()、np.copy() 深拷贝
    np.asarray() 浅拷贝
    三者的区别是,浅拷贝,当现有的数组发现数值的改变时,该数组也会发生改变,而深拷贝不会。
    3).生成固定范围的数组
    np.linspace(0,10,100) 从[0,10] 等距离 生成100个,注意0和10两者都是闭包
    np.arange(a,b,c) [a,b) c 步长,注意左闭右开1。
    4).生成随机数组
    生成满足均匀分布的随机数组:
    np.random.uniform(low,hige,size)
    生成满足正态分布的随机数组:
    np.random.normal(β,σ,size)

知道了怎么生成数组,可以验证numpy运算效率的快捷性:

import random
import time
list = []",
for i in range(100000000):
	list.append(random.random())
ndarry = np.array(list)
#原生求和时间
t1 = time.time()
a = sum(list)
t2 = time.time()
d1 = t2-t1
#ndarray求和时间
t3 = time.time()
b = np.sum(ndarry)
t4 = time.time()
d2 = t3-t4

数量越多时,效率差距会更大。

  1. 形状修改
    ndarray.reshape(shape) 返回新的ndarray,原始数据没有修改
    ndarray.resize(shape) 无返回值,对原始的ndarray进行修改
    ndarray.T 转置矩阵
  2. 数据类型的修改:
    ndarray.astype(type)
    ndarray序列化到本地
    ndarray.tostring()
  3. 数组的去重:
    set() 利用集合的特性去重
    np.unique(ndarray)

关于numpy的应用还需自己练习!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值