美文网首页
numpy是个什么鬼?

numpy是个什么鬼?

作者: 启蒙时代 | 来源:发表于2019-03-08 13:43 被阅读0次

上午翻手机,看到一道python入职面试题,问:1-100的和是多少?

我还在想for循环的时候,瞄了一眼答案:

sum(range(1,101))

哇!python的代码就是这样惊人地简洁。我不禁对range函数刮目相看,顺便学习了一下range的丰富用法。

range函数的语法:

range(start, stop[, step])

参数说明:

start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);

stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5

step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1),步长也可以设置为负数,例如:range(10,0,-1)

用法举例:

x="Distributed"

for i in range(len(x)):

print(x[i])

可见,range可以表示一个数字序列,数列之间的间隔最小是1。

那么,问题来了:

如果我想间隔0.1怎么办呢?例如定义a=range(1,6),显然,2 in a为True,2.5 in a则为False。如何把步长设置成小数呢?

带着这个问题,我搜索了一下,答案是使用numpy

numpy,即Numerical Python,翻译过来是:用数字表示的python,是python的一个第三方库。

我迫不及待地写了一个间隔为0.1的数字序列:

import numpy as nu

a=nu.arange(1,11,0.1)

for i in a:

print(i)

结果令人喜忧参半,如图:

1.1之后,并不是以0.1为稳定的步长增加序列的,这是什么原因呢?

经过搜索,发现numpy.arange()由于小数计算的进制转换等原因,无法解决这一问题,且不推荐用这个办法。同样的需求,可以用以下方法实现:

t1 = np.array([x*0.1 for x in range(1,100)])

print(t1)

可见,np.array([x*0.1 for x in range(1,100)])表示的是:

从0.1开始,每次加0.1,直到99次,直到9.9的数字序列。

那么,我们想表达从5.5开始,到10.5结束,步长为0.3的列表,怎么表示呢?

import numpy as np

a=int(5.5/0.3)

b=int((10.5-5.5)/0.3)

t1 = np.array(np.array([x*0.3 for x in range(a,a+b)]))

print(t1)

有点复杂了,数学不好的同学慢慢理解。

下面,顺便补充点numpy的用法:

1、存储和读取txt文件

import numpyas np

a = np.array([1, 2, 3, 4, 5])

np.savetxt('out.txt', a)

b = np.loadtxt('out.txt')

print(b)

2、构建多维数组:

import numpy as np

a = np.array([[1,  2],  [3,  4]])

print(a[1,0])

相关文章

  • numpy是个什么鬼?

    上午翻手机,看到一道python入职面试题,问:1-100的和是多少? 我还在想for循环的时候,瞄了一眼答案: ...

  • 深度学习之Numpy整理

    一、Numpy介绍、为什么要用Numpy 1、Numpy介绍 Numpy是Python的一个扩展包,语法和Matl...

  • Numpy | 基础操作(矩阵)

    NumPy 基础操作 什么是 NumPy NumPy是Python中科学计算的基础包。它是一个Python库,提供...

  • this是个什么鬼

    JS中this关键字很常见,但是它似乎变幻莫测,让人抓狂。这篇文章就来揭示其中的奥秘。 借助阮一峰老师的话:它代表...

  • Python学习笔记:NumPy

    什么是NumPy? NumPy is the fundamental package for scientific...

  • numpy 使用

    1. 什么是 NumPy? NumPy是一个功能强大的Python库,主要用于对多维数组执行计算。NumPy这个词...

  • Numpy 中文用户指南 1. 安装

    译者:飞龙 1.1 NumPy 是什么? 原文:What is NumPy? NumPy是Python中用于科学计...

  • numpy 笔记

    Numpy是什么 Numpy(Numerical Python)是一个开源的Python科学计算库,包含很多实用的...

  • numpy

    自学整理记录,大神见笑 为什么学习numpy 快速 方便 科学计算的基础库 什么是numpy 一个在Python中...

  • NumPy学习小结

    NumPy是什么? NumPy(Numerimal Python的缩写)是一个开源的Python科学计算库。使用N...

网友评论

      本文标题:numpy是个什么鬼?

      本文链接:https://www.haomeiwen.com/subject/wccrpqtx.html