python - 从数字数组创建布尔数组
问题描述
所以说我们有一些价值观:
data = np.random.standard_normal(size = 10)
我希望我的函数输出一个数组,该数组标识数据中的值是否为正,例如:
[1, 0, 1, 1, 0, 1, 1, 0, 0, 0]
我试过了
def myfunc():
for a in data > 0:
if a:
return 1
else:
return 0
但是我只得到随机数组数据中第一个值的布尔值,我不知道如何循环这个函数来输出一个数组。
谢谢
解决方案
使用 numpy 非常简单:
posvals = data > 0
>> [True, False, True, True, False, True, True, False, False, False]
如果您明确想要 1 和 0:
posvals.astype(int)
>> [1, 0, 1, 1, 0, 1, 1, 0, 0, 0]
推荐阅读
- azure - 'resourceGroupName' 与预期的模式 '^[-\w\._\(\)]+$' 不匹配
- r - RANDwNND 后清空捐助者 mtc.id
- docker - How to restart a docker container based on a port service failure
- recursion - Cycle detected in recursive async function
- python - How to silence specific words in an audio file using python?
- email - on hold email notification - change label 'Total:'
- google-apps-script - Adding GASRetry Library in google script
- c# - How to manage the orientations a Uno App supports on at least iOS?
- regex - IIS Rewrite ARR sub folders and main site on root URL
- python - wordninja does not work with other languages