ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Numpy简介

2021-09-08 10:05:05  阅读:202  来源: 互联网

标签:简介 67 ndarray ms time 86 Numpy


1 Numpy介绍

  • Numpy(Numerial Python) 用于快速处理任意维度的数组
  • 支持常见的数组和矩阵操作,同样的数值计算任务比直接使用python简洁
  • 使用ndarray对象来处理多维数组

2 ndarray介绍

  • ndarray是Numpy的一个N维数组类型ndarray,它描述了相同类型的“items”的集合
  • 举例:学生分数

    用ndarray进行存储:
import numpy as np

# 创建ndarray
score = np.array(
[[80, 89, 86, 67, 79],
[78, 97, 89, 67, 81],
[90, 94, 78, 67, 74],
[91, 91, 90, 67, 69],
[76, 87, 75, 67, 86],
[70, 79, 84, 67, 84],
[94, 92, 93, 67, 64],
[86, 85, 83, 67, 80]])

score

返回结果:

array([[80, 89, 86, 67, 79],
       [78, 97, 89, 67, 81],
       [90, 94, 78, 67, 74],
       [91, 91, 90, 67, 69],
       [76, 87, 75, 67, 86],
       [70, 79, 84, 67, 84],
       [94, 92, 93, 67, 64],
       [86, 85, 83, 67, 80]])

3 ndarray与Python原生list运算效率对比

  • 通过以下代码进行对比
import random
import time
import numpy as np
a = []
for i in range(100000000):
    a.append(random.random())

# 通过%time魔法方法, 查看当前行的代码运行一次所花费的时间
%time sum1=sum(a)

b=np.array(a)

%time sum2=np.sum(b)

结果:

CPU times: user 852 ms, sys: 262 ms, total: 1.11 s
Wall time: 1.13 s
CPU times: user 133 ms, sys: 653 µs, total: 133 ms
Wall time: 134 ms

注:数组越大,Numpy的优势就越明显

4 ndarray的优势

  • 内存块分格
    ndarray在存储元素时内存可以连续,而python原生list就只能通过寻址方式找到下 一个元素,这虽然也导致了在通用性能方面Numpy的ndarray不及Python原生list。
  • ndarray支持并行化运算(向量化运算),numpy会自动做并行计算
  • ndarray底层是用C语言写的,效率更高,释放了GIL

标签:简介,67,ndarray,ms,time,86,Numpy
来源: https://www.cnblogs.com/yuyingblogs/p/15241389.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有