Tho*_*oWe 6 python arrays numpy
我有一个如下所示的输入数组:
[[ 0. 1. ]
[ 10. 0.4]
[ 20. 1.4]
[ 30. 3. ]
[ 40. 1.1]
[ 50. 0.7]]
Run Code Online (Sandbox Code Playgroud)
现在我想将浮点值从第二列(数组[:,1]中的那些)转换为单位二进制值,表示为1或0整数.我有阈值,我想用作逻辑0和逻辑1之间的限制.假设它是1.5.转换后,数组应如下所示:
[[ 0. 0 ]
[ 10. 0]
[ 20. 0]
[ 30. 1]
[ 40. 0]
[ 50. 0]]
Run Code Online (Sandbox Code Playgroud)
如何以最少的努力做到这一点?
将第二列与阈值进行比较,该阈值将是一个布尔数组,然后将其分配回第二列.在分配之前,分配会将其向上转换为浮动数据.所得到的第二列仍然是float,但0s和1s它需要保持数据类型存在.
因此,简单地做 -
a[:,1] = a[:,1]>1.5
Run Code Online (Sandbox Code Playgroud)
样品运行 -
In [47]: a
Out[47]:
array([[ 0. , 1. ],
[ 10. , 0.4],
[ 20. , 1.4],
[ 30. , 3. ],
[ 40. , 1.1],
[ 50. , 0.7]])
In [48]: a[:,1] = a[:,1]>1.5
In [49]: a
Out[49]:
array([[ 0., 0.],
[ 10., 0.],
[ 20., 0.],
[ 30., 1.],
[ 40., 0.],
[ 50., 0.]])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3294 次 |
| 最近记录: |