numpy 常用api(一)

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                       

numpy 常用api(二)

numpy 常用api(三)

clip

两个版本:

  • np.clip

  • 作为成员函数,x.clip

将一序列(sequence)中所有小于零的元素置零:

>>> x = np.arange(-5, 5)>>> xarray([-5, -4, -3, -2, -101234])       
  
  
  • 1
  • 2
  • 3
  1. 法1,布尔索引

    >>> x<0array([ TrueTrueTrueTrueTrue, False, False, False, False, False], dtype=bool)>>> x[x<0] = 0>>> xarray([0, 0, 0, 0, 0, 0, 1, 2, 3, 4])
        
        
    • 1
    • 2
    • 3
    • 4
    • 5
  2. 法2:np.where(三目运算),不对原始序列进行修改

    >>> x = np.where(x<0, 0, x)array([0, 0, 0, 0, 0, 0, 1, 2, 3, 4])
        
        
    • 1
    • 2
  3. 法3:使用clip,不对原始序列进行修改

clip的第一个参数表示目标区间最小值,第二个参数表示最大值,原始序列凡小于这个最小值的被这个最小值所替换,凡大于这个最大值的被这个最大值替换,必须指定一个参数,则另一个参数默认为的情况,在进行相加时会破坏整个内积运算的结果。

>>> 0*np.nan_to_num(np.log(0))0.0
  
  
  • 1
  • 2

我们或者:

def fn(a, y):    return -(np.dot(y.transpose(), np.nan_to_num(np.log(a)))+np.dot((1-y).transpose(), np.nan_to_num(np.log(1-a))))
  
  
  • 1
  • 2

或者:

def fn(a, y):    return -np.sum(np.nan_to_num(y*np.log(a)+(1-y)*np.log(1-a)))
  
  
  • 1
  • 2

np.cumsum()

np.cumsum(a)函数返回一个多维数组,其shape等于a的shape

p = np.random.random(100000)rolls = np.random.random((11, len(p)))Alice_wins = np.cumsum(rolls < p, 0)                                # 0,表示列向Bob_wins = np.cumsum(rolls >= p, 0)                                # 0,表示列向
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

首先需要说明的是,np.array() < 0,返回的是bool元素类型的多维数组。也即上述代码中的rolls < p,也即np.cumsum()的第一个参数为多维元组类型。np.cumsum(rolls < p, 0),第二个参数0表示在列的方向进行累积相加。

           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
这里写图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值