我是靠谱客的博主 娇气咖啡豆,最近开发中收集的这篇文章主要介绍Numpy详解,带你一步步了解Numpy(一)一、介绍二、主要内容,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

一、介绍

二、主要内容

1、数据的类型

2、从列表创建数组

 3、Numpy数组的基础

 4、数组切片:访问子数组

 5、 多维数组

 6、子数组作为不可复制视图

 7、创建数组的副本

 8、重塑数组大小

 9、串联数组

 10、数组的分割

 11、循环效率问题


一、介绍

1、Numpy是python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix)),支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

2、在实际运用的第一步,不管数据是什么类型的,首先将其转化为数字数组才可以进行分析

二、主要内容

1、数据的类型

(1)在python中,数据类型是动态推断的,类型的灵活性表明,python变量不仅仅是包含它们的值,而且还包含了关于这个值类型的额外信息例如。

x=1
x='one'

 简单的两变量中,同时包含着他的参考数量,类型,以及大小等信息

L=[True,'2',3.0,4]
[type(item)for item in L]

 

列表的优点是灵活性:因为每个列表元素都是包含数据和类型信息....的完整结构

但是,如果列表中的所有变量都是相同类型的,那么很多额外的信息都是多余的。

 

固定类型numpy样式的数组缺乏列表的灵活性,但在存储和操作数据方面要高效得多。

Numpy不仅提供了基于数组的数据结构的高效存储,而且还提供了对该数据的高效操作。

2、从列表创建数组

 如果数组中的元素类型不匹配,Numpy将尽可能向上转换。

 

使用关键字" dtype "显式设置结果数组的数据类型

 

 创建一个包含三个整数的未初始化数组(值将是该内存位置上已经存在的任何值)。

 随机创建

 3、Numpy数组的基础

Numpy数组有固定的类型。因此,如果您试图将一个浮点值插入到一个整型数组中,该值将被静默地截断。

 4、数组切片:访问子数组

 

 5、 多维数组

多维数组切片方式与一维类似,先切行,后切行里面的元素

 6、子数组作为不可复制视图

Python list切片返回原始列表数据的副本。

Numpy数组片返回原始数组数据的视图。

 可见,当切片后的数组发生改变,原先的数组也会发生对应的变化

 7、创建数组的副本

所以,为了防止原数据被更改,我们需要使用数组的副本进行修改

发现,当使用了copy函数之后,原先数组的内容没有被改变

 8、重塑数组大小

 将一维数组转换为二维行或列矩阵可以使用重塑()方法完成,也可以在切片操作中使用关键字newaaxis。

 9、串联数组

在Numpy中,连接或连接两个数组主要通过以下例程完成:

  • np.concatenate ()
  • np.vstack ()
  • np.hstack ()

多维的合并

 重塑与新增维度组合运用

hstack()是横向拉伸
vstack()是纵向排列

 10、数组的分割

与拼接相反的是分割,它由以下函数实现:

  • np.split ()
  • np.vsplit ()
  • np.hsplit ()

 同样的,存在纵向分割和横向分割

 11、循环效率问题

Numpy数组上的计算可以非常快,也可以非常慢

所以在Numpy或者说十python的计算工程中,请尽量避免嵌套式的循环出现

 由于内容过多,将会在接下来的文章中再做介绍,本文章内容到此,后续会有更新。

最后

以上就是娇气咖啡豆为你收集整理的Numpy详解,带你一步步了解Numpy(一)一、介绍二、主要内容的全部内容,希望文章能够帮你解决Numpy详解,带你一步步了解Numpy(一)一、介绍二、主要内容所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部