numpy小节 any(1)函数

@numpy小节

import numpy as np
draws	=	np.random.randint(0,2,size=(3,10))
draws
array([[0, 0, 0, 0, 0, 0, 0, 1, 1, 0],
       [0, 1, 1, 0, 0, 1, 0, 0, 0, 1],
       [0, 0, 1, 1, 1, 0, 1, 1, 0, 1]])
steps	=	np.where(draws	>	0,	1,	-1)
steps
array([[-1, -1, -1, -1, -1, -1, -1,  1,  1, -1],
       [-1,  1,  1, -1, -1,  1, -1, -1, -1,  1],
       [-1, -1,  1,  1,  1, -1,  1,  1, -1,  1]])
steps.cumsum()#前i-1项和
array([ -1,  -2,  -3,  -4,  -5,  -6,  -7,  -6,  -5,  -6,  -7,  -6,  -5,
        -6,  -7,  -6,  -7,  -8,  -9,  -8,  -9, -10,  -9,  -8,  -7,  -8,
        -7,  -6,  -7,  -6], dtype=int32)
walk = steps.cumsum(1)#对行处理
walk
array([[-1, -2, -3, -4, -5, -6, -7, -6, -5, -6],
       [-1,  0,  1,  0, -1,  0, -1, -2, -3, -2],
       [-1, -2, -1,  0,  1,  0,  1,  2,  1,  2]], dtype=int32)
hist30	=	(np.abs(walk)	>=	3).any(1)

hist30
  • any(1)函数表示每行满足条件的返回布尔值

    array([ True, True, False])

hist30.sum()
2
hist30.sum()
2

你可能感兴趣的:(numpy小节 any(1)函数)