2021年1月9日 / 13次阅读 / Last Modified 2021年1月10日
NumPy
我是在处理ReLU函数的导数的时候,遇到的这个问题,有两种方法可以做这种转换。
在全是True和False的np array上加0,就能够将True变成1,False变成0:
>>> a
array([[0],
[1],
[2],
[3],
[4],
[5],
[6],
[7],
[8],
[9]])
>>> b = a>3
>>> b
array([[False],
[False],
[False],
[False],
[ True],
[ True],
[ True],
[ True],
[ True],
[ True]])
>>> c = b + 0
>>> c
array([[0],
[0],
[0],
[0],
[1],
[1],
[1],
[1],
[1],
[1]])
+0 转成 np.int型,还可以 + 0.0,转成 np.float型。
直接上代码:
>>> b
array([[False],
[False],
[False],
[False],
[ True],
[ True],
[ True],
[ True],
[ True],
[ True]])
>>> b.astype(np.int)
array([[0],
[0],
[0],
[0],
[1],
[1],
[1],
[1],
[1],
[1]])
除了np.int,还可以直接转换成np.float,这样可能更符合数据的normalization的要求。
用astype的方法,感觉语义上更清晰。
-- EOF --
本文链接:https://www.pynote.net/archives/3154
前一篇:浮点数转字符串(非科学计数)
后一篇:神经元激活函数
Ctrl+D 收藏本页
©Copyright 麦新杰 Since 2019 Python笔记