区分range() , np.arange() , np.linspace()

content:

  • range()
  • np.arange()
  • np.linspace()

一.range(start, stop, step)

1.range() 为 python 自带函数

2.生成一个从start(包含)到stop(不包含),以step为步长的序列。返回一个 list 对象

  • range(stop) 返回 range object
  • range(start, stop[, step]) 返回 range object

3.start默认为0,stop是必须的,step默认为1,可正可负。

  • 例:range(i, j) 生成 i, i+1, i+2, ..., j-1.
  • 例:range(4) 生成 0, 1, 2, 3.

4.只能生成整型的序列

5.举例

range(6)
range(0, 6)
for i in range(6):
    print(i)
0
1
2
3
4
5
range(10.0)   #浮点型不能实现哦o(^▽^)o
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-50-2abe667105db> in <module>()
----> 1 range(10.0)   #浮点型不能实现哦o(^▽^)o

TypeError: ‘float‘ object cannot be interpreted as an integer
range(1,6)
range(1, 6)
for i in range(6):print (i)
0
1
2
3
4
5
range(1,6,3)
range(1, 6, 3)
for i in range(1,6,3):print(i)
1
4

## 二. np.arange([start,] stop[, step])

1.np.arange() 在 numpy 模板中

2.生成一个从start(包含)到stop(不包含),以step为步长的序列。返回一个 ndarray 对象

  • start : 数值, 可选。包含此值,默认为0.
  • stop : 数值,必须。不包含此值, 除非“step”不是整数,浮点舍入会影响“out”的长度
  • step : 数值, 可选。默认为1,如果步长有指定,则start必须给出来
  • dtype : 数据类型。输出array的数据类型。 If dtype is not given, infer the data type from the other input arguments.

4.可生成整型、浮点型序列,毫无压力

5.当使用非整数步骤(如0.1)时,结果往往不一致。对于这些情况,最好使用‘linspace’。

6.举例

import numpy as np
np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
np.arange(10.0)
array([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9.])
np.arange(1,10)
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
np.arange(1,10,2)
array([1, 3, 5, 7, 9])
np.arange(1,10,2.0)
array([ 1.,  3.,  5.,  7.,  9.])

三个参数,如果任一为浮点型,那么都会生成一个浮点型序列。

三.拓:linspace

linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

  • 指定在start到stop均分数值
  • start:不可省
  • stop:有时包含有时不包含,根据endpoint来选择,默认包含
  • num:指定均分的数量,默认为50
  • endpoint:布尔值,可选,默认为True。包含stop就True,不包含就False
  • retstep : 布尔值,可选,默认为False。如果为True,返回值和步长
  • dtype : 输出数据类型,可选。如果不指定,则根据前面参数的数据类型
np.linspace(1,10)   #默认生成50个,包含stop:10
array([  1.        ,   1.18367347,   1.36734694,   1.55102041,
         1.73469388,   1.91836735,   2.10204082,   2.28571429,
         2.46938776,   2.65306122,   2.83673469,   3.02040816,
         3.20408163,   3.3877551 ,   3.57142857,   3.75510204,
         3.93877551,   4.12244898,   4.30612245,   4.48979592,
         4.67346939,   4.85714286,   5.04081633,   5.2244898 ,
         5.40816327,   5.59183673,   5.7755102 ,   5.95918367,
         6.14285714,   6.32653061,   6.51020408,   6.69387755,
         6.87755102,   7.06122449,   7.24489796,   7.42857143,
         7.6122449 ,   7.79591837,   7.97959184,   8.16326531,
         8.34693878,   8.53061224,   8.71428571,   8.89795918,
         9.08163265,   9.26530612,   9.44897959,   9.63265306,
         9.81632653,  10.        ])
np.linspace(1,10,endpoint=False) #默认生成50个,不包含stop:10
array([ 1.  ,  1.18,  1.36,  1.54,  1.72,  1.9 ,  2.08,  2.26,  2.44,
        2.62,  2.8 ,  2.98,  3.16,  3.34,  3.52,  3.7 ,  3.88,  4.06,
        4.24,  4.42,  4.6 ,  4.78,  4.96,  5.14,  5.32,  5.5 ,  5.68,
        5.86,  6.04,  6.22,  6.4 ,  6.58,  6.76,  6.94,  7.12,  7.3 ,
        7.48,  7.66,  7.84,  8.02,  8.2 ,  8.38,  8.56,  8.74,  8.92,
        9.1 ,  9.28,  9.46,  9.64,  9.82])
 np.linspace(2.0, 3.0, num=5)  #指定生成5个,包含stop:10
array([ 2.  ,  2.25,  2.5 ,  2.75,  3.  ])
np.linspace(2,3,num=5)
array([ 2.  ,  2.25,  2.5 ,  2.75,  3.  ])
np.linspace(2.0, 3.0, num=5, endpoint=False)
array([ 2. ,  2.2,  2.4,  2.6,  2.8])
 np.linspace(2.0, 3.0, num=5, retstep=True)
(array([ 2.  ,  2.25,  2.5 ,  2.75,  3.  ]), 0.25)

原文地址:https://www.cnblogs.com/wyy1480/p/9650609.html

时间: 2024-09-28 22:38:26

区分range() , np.arange() , np.linspace()的相关文章

python基础 range()与np.arange()

range()返回的是range object,而np.nrange()返回的是numpy.ndarray() range尽可用于迭代,而np.nrange作用远不止于此,它是一个序列,可被当做向量使用. range()不支持步长为小数,np.arange()支持步长为小数 两者都可用于迭代 两者都有三个参数,以第一个参数为起点,第三个参数为步长,截止到第二个参数之前的不包括第二个参数的数据序列 某种意义上,和STL中由迭代器组成的区间是一样的,即左闭右开的区间.[first, last)或者不

Python 基础——range 与 np arange

range()返回的是range object,而np.nrange()返回的是numpy.adarray() 两者都是均匀地(evenly)等分区间: range尽可用于迭代,而np.arange作用远不止于此,它是一个序列,可被当做向量使用. range()不支持步长为小数,np.arange()支持步长为小数 两者都可用于迭代 两者都有三个参数,以第一个参数为起点,第三个参数为步长,截止到第二个参数之前的不包括第二个参数的数据序列 某种意义上,和STL中由迭代器组成的区间是一样的,即左闭右

python 中 np.arange()的使用

np.arange()函数返回一个有终点和起点的固定步长的排列,如[1,2,3,4,5],起点是1,终点是5,步长为1.参数个数情况: np.arange()函数分为一个参数,两个参数,三个参数三种情况1)一个参数时,参数值为终点,起点取默认值0,步长取默认值1.2)两个参数时,第一个参数为起点,第二个参数为终点,步长取默认值1.3)三个参数时,第一个参数为起点,第二个参数为终点,第三个参数为步长.其中步长支持小数 1 #一个参数 默认起点0,步长为1 输出:[0 1 2] 2 a = np.a

range和arange

a = np.arange(12) print(a, type(a)) b = range(10) print(b, type(b)) li = list(b) print(li) 拓展: 两个参数:起点,终点 三个参数:第三个是步长 原文地址:https://www.cnblogs.com/Stephen-Qin/p/10908270.html

Numpy:np.vstack()&amp;np.hstack() flat/flatten

一 .  np.vstack: 按垂直方向(行顺序)堆叠数组构成一个新的数组 In[3]: import numpy as np In[4]: a = np.array([[1,2,3]]) a.shape Out[4]: (1, 3) In [5]: b = np.array([[4,5,6]]) b.shape Out[5]: (1, 3) In [6]: c = np.vstack((a,b)) # 将两个(1,3)形状的数组按垂直方向叠加 print(c) c.shape # 输出形状为

python 值比较判断,np.nan is np.nan 却 np.nan != np.nan ,pandas 单个数据框值判断nan

pandas中DataFrame,Series 都有 isnull()方法,而数据框却没有,用了就会报错:AttributeError: 'float' object has no attribute 'isnull' 怎么判断单个框是否为 np.nan Python常规的判断,==,和is, 这对None是有效的 None is NoneOut[49]: True None == NoneOut[50]: True 而对,np.nan,只能用is da1pd.ix[6000996,u'团队']

numpy 常用工具函数 —— np.bincount/np.average

numpy 常用工具函数 -- np.bincount/np.average numpy 常用api(一) numpy 常用api(二) 一个函数提供 random_state 的关键字参数(keyword parameter):是为了结果的可再现性(reoccurrence)或叫可重复性. 1. np.bincount():统计次数 接口为: numpy.bincount(x, weights=None, minlength=None) 1 尤其适用于计算数据集的标签列(y_train)的分布

去除警告: FutureWarning: In future, it will be treated as `np.float64 == np.dtype(float).type`.

文章目录: 一.警告原因分析 二.解决方法 最近在使用tensorflow-gpu的时候总是报警告,就我这强迫症能够忍他吗,no!绝对不能忍!!! 我的环境: cudnn=7.0 cuda=9.0 tensorflow-gpu=1.8 或 1.9 或 1.10.0 或 1.11.0 在上面的这个环境配置下都会报这个警告,解决方式都是一样的 一.警告原因分析 从下面包的警告可以看出,是和h5py这个库包有关的 import tensorflow as tf /home/mosheng/minico

np.mgird np.ogrid

np.ogrid: address:https://docs.scipy.org/doc/numpy/reference/generated/numpy.ogrid.html returns an open (i.e. not fleshed out) mesh-grid when indexed, only one dimension of each returned array is greater than 1. The dimension and number of the output