最近在出差,好久没有写了,继续…
range([start,] stop[, step])根据start与stop指定的范围以及step设定的步长,生成一个序列.
range多用作循环,range(0,10)返回一个range对象,如想返回一个list,前面加上list转换
In[15]: range(5)
Out[15]:range(0, 5)
In [13]:list(range(5))
Out[13]:[0, 1, 2, 3, 4]
arange是numpy模块中的函数,使用前需要先导入此模块,arange(3):返回array类型对象。
【注:range()中的步长不能为小数,但是np.arange()中的步长可以为小数】
import numpy as np
np.arange(3)
Out[20]:
array([0, 1, 2])
xrange()也是用作循环,只是xrang(0,10)不返回list,返回xrange对象。每次调用返回其中的一个值。 返回很大的数的时候或者频繁的需要break时候,xrange性能更好。
【注意:python3.x中把xrange()取消了】
np.where
官网:https://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html
numpy.where(c这里写代码片
ondition[, x, y])
这里x,y是可选参数,condition是条件,这三个输入参数都是array_like的形式;而且三者的维度相同。当conditon的某个位置的为true时,输出x的对应位置的元素,否则选择y对应位置的元素;如果只有参数condition,则函数返回为true的元素的索引坐标信息信息;
In [75]:
np.where(
[[True, False], [True, True]],
[[1, 2], [3, 4]],
[[9, 8], [7, 6]])
Out[75]:
array([[1, 8],
[3, 4]])
x=[[1, 2], [3, 4]]
y=[[9, 8], [7, 6]]
当true返回x, false返回y
In [72]:
x = np.arange(9.).reshape(3, 3)
print (x)
type(x)
Out[72]:
[[ 0. 1. 2.]
[ 3. 4. 5.]
[ 6. 7. 8.]]
numpy.ndarray
In [74]:
np.where( x > 5 )
Out[74]:
(array([2, 2, 2], dtype=int64), array([0, 1, 2], dtype=int64))
array([2, 2, 2] 表示这三个元素是在第三行array([0, 1, 2] 表示是第三行元素的序列
如果更改为x>0,则表示的横纵坐标信息会更加明显
np.where(x>0)
(array([0, 0, 1, 1, 1, 2, 2, 2], dtype=int64),
array([1, 2, 0, 1, 2, 0, 1, 2], dtype=int64))