十大Python库——NumPy

十大Python库——NumPy

NumPy是Python中科学计算的基础包。它是一个Python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于数组快速操作的各种API,有包括数学、逻辑、形状操作、排序、选择、输入输出、离散傅立叶变换、基本线性代数,基本统计运算和随机模拟等等。

01

NumPy和原生python列表的区别

  • NumPy 数组在创建时具有固定的大小,与Python的原生数组对象(可以动态增长)不同。更改ndarray的大小将创建一个新数组并删除原来的数组。

  • NumPy 数组中的元素都需要具有相同的数据类型,因此在内存中的大小相同。例外情况:Python的原生数组里包含了NumPy的对象的时候,这种情况下就允许不同大小元素的数组。

  • NumPy 数组有助于对大量数据进行高级数学和其他类型的操作。通常,这些操作的执行效率更高,比使用Python原生数组的代码更少。

02

NumPy创建数组

创建数组有5种常规机制:

  1. 从其他Python结构(例如,列表,元组)转换;

  2. Numpy原生数组的创建(例如,arange、ones、zeros等);

  3. 从磁盘读取数组,无论是标准格式还是自定义格式;

  4. 通过使用字符串或缓冲区从原始字节创建数组;

  5. 使用特殊库函数(例如,random);

    这里小编将为大家重点讲解前两种机制。

NO.1

将Python array_like对象转换为Numpy数组

通常,在Python中排列成array-like结构的数值数据可以通过使用array()函数转换为数组,最明显的例子是列表和元组。

NO.2

Numpy原生数组的创建

Numpy内置了从头开始创建数组的函数:

zeros(shape)将创建一个用指定形状用0填充的数组,默认的dtype是float64。

ones(shape)将创建一个用1个值填充的数组。它在所有其他方面与zeros相同。

arange()将创建具有有规律递增值的数组。检查文档字符串以获取有关可以使用的各种方式的完整信息。

03

NumPy输入与输出

NumPy提供了几个函数来根据表格数据创建数组。我们将重点放在genfromtxt函数上。

举例时,我们将使用以下约定:

**NO.**1

定义输入

genfromtxt的唯一强制参数是数据的来源,它可以是一个字符串,一串字符串或一个生成器。

**NO.**2

将行拆分成列

1.delimiter数据

一旦文件被定义并打开进行读取,genfromtxt会将每个非空行分割为一串字符串。空的或注释的行只是略过。delimiter关键字用于定义拆分应该如何进行。

通常,单个字符标记列之间的分隔。例如,逗号分隔文件(CSV)使用逗号( ,)或分号( ;)作为分隔符:

2.autostrip参数

默认情况下,当一行被分解为一系列字符串时,单个条目不会被剥离前导空白或尾随空白。通过将可选参数autostrip设置为值True,可以覆盖此行为。

3.comments参数

可选参数comments用于定义标记注释开始的字符串。默认情况下,genfromtxt假定comments=’#‘。评论标记可能发生在线上的任何地方,评论标记之后的任何字符都会被忽略。

**NO.**3

快捷方式函数

除了 genfromtxt之外,numpy.lib.io模块还提供了几个从genfromtxt派生的方便函数。这些函数的工作方式与原始函数相同,但它们具有不同的默认值。

  • recfromtxt - 返回标准 numpy.recarray(如果 usemask=False)或 MaskedRecords数组(如果usemask=True)。默认dtype是dtype=None ,意味着将自动确定每列的类型。

  • recfromcsv - 类似 recfromtxt,但有默认值delimiter=“,” 。

04

NumPy 数组属性

在 NumPy中,NumPy 数组的维数称为秩(rank),秩就是轴的数量,即数组的维度。每一个线性的数组称为是一个轴(axis),也就是维度(dimensions)。所以一维数组就是 NumPy 中的轴(axis),第一个轴相当于是底层数组,第二个轴是底层数组里的数组。而轴的数量——秩,就是数组的维数。

---------------------------END---------------------------

题外话

在这里插入图片描述

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img

二、Python兼职渠道推荐*

学的同时助你创收,每天花1-2小时兼职,轻松稿定生活费.
在这里插入图片描述

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

若有侵权,请联系删除

  • 25
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值