numpy的安装与使用

 

 

 


前言

本文就主要讲解下numpy的安装和简单使用,后续会完善numpy的使用方法


提示:以下是本篇文章正文内容,下面案例可供参考

一、numpy是什么?

NumPy(Numerical Python的简称),是科学计算基础的一个库,它提供了一个高性能的多维数组对象ndarray,以及大量的库函数和操作,可以帮助程序员轻松地进行数值计算,广泛应用于机器学习模型、图像处理和计算机图形学、数学任务等领域。提供了大量关于科学计算的相关功能,例如,线性变换,数据统计,随机数生成等。其提供的最核心的类型为多维数组类型(ndarray)。

NumPy是基于c语言开发,所以这使得NumPy的运行速度很快,高效率运行就是NumPy的一大优势。Numpy对矩阵运算进行了优化,使我们能够高效地执行线性代数运算,使其非常适合解决机器学习问题。SciPy(Scientific Python)、Mat-plotlib(plotting library)、Scikit-learn 等都在一定程度上依赖NumPy。与Python列表相比,Numpy具有的另一个强大优势是具有大量优化的内置数学函数。这些函数使你能够非常快速地进行各种复杂的数学计算,并且用到很少代码(无需使用复杂的循环),使程序更容易读懂和理解。

  • numpy的底层使用C语言实现。所以效率挺高
  • numpy作为很多的用来做数据挖掘,数据分析,人工智能相关的技术组件的底层实现

NumPy 中定义的最重要的对象是称为 ndarray 的 N 维数组类型,它是描述相同类型的元素集合。ndarray 中的每个元素都是数据类型对象(dtype)的对象。ndarray 中的每个元素在内存中使用相同大小的块。

Numpy官网:https://numpy.org/
 

1、Numpy的数据结构

Numpy中定义的最重要的数据结构是称为ndarray的n维数组类型,这个结构引用了两个对象,一块用于保存数据的存储区域和一个用于描述元素类型的dtype对象。

  • 第一部分:元数据部分,存储当前这个ndarray对象的一些描述数据
  • 第二部分:真实数据部分,存储这个ndarray对象中存储的真实的数据

    二维数组的生成在python中我们还可以用到list列表,如果用list来表示[1,2,3],由于list中的元素可以是任何对象,所以list中保存的是对象的指针,如果要保存[1,2,3]就需要三个指针和三个整数对象,是比较浪费内存资源和cpu计算时间的,而ndarray是一种保存单一数据类型的多维数组结构,在数据处理上比list列表要快上很多,在这里我们可以用%timeit命令来检测两者的数据处理速度。

1.1 元数据(metadata)

存储对目标数组的描述信息,如:dim count、dimensions、dtype、data(实际上就是一个指针,指向实际的数据)等。

1.2 实际数据

完整的数组数据

将实际数据与元数据分开存放,一方面提高了内存空间的使用效率,另一方面减少对实际数据的访问频率,提高性能。
 

2、ndarray数组对象的特点

  • Numpy数组是同质数组,即所有元素的数据类型必须相同
  • Numpy数组的下标从0开始,最后一个元素的下标为数组长度减1

3、Numpy的优点

  • Numerical Python,数值的Python,补充了Python语言所欠缺的数值计算能力。
  • Numpy是其它数据分析及机器学习库的底层库。
  • Numpy完全标准C语言实现,运行效率充分优化。
  • Numpy开源免费。

二、安装numpy

1、Anaconda

conda install numpy

2、没有anaconda,则使用以下命令在终端中直接输入

pip install numpy

 


三、开始使用

3.1 引入库

代码如下(示例):

#导入numpy并为其取别名为np
import numpy as np

3.2 查看numpy安装版本

代码如下(示例):

print(np.__version__)

3.3 牛刀小试

# 引入第三方库:numpy,起个别名:np
import numpy as np
print(np.__version__)
#调用numpy中的arange函数生成一个序列
data = np.arange(10) # 生成0-9的数据序列
print(data) #打印数据
print(type(data)) # 打印数据类型

3.4 numpy VS list

import numpy as np

# 对于序列0-9在python中使用list对其每个元素都进行+1操作
list1 = list(range(10))
print(list1)

# 把这个数据序列(0-9)的每个元素都 进行 + 1 的操作
result_list = []
for i in list1:
    result_list.append(i + 1)

print(result_list)

# numpy中的实现
data = np.arange(10)
print(data)
data += 1 # 输出结果: 每个元素都 + 1
print(data)

 


总结

1、numpy安装很简单,易操作

2、使用numpy进行数组计算,要比使用原生的python的操作要简单很多

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值