将列表与内部列表二值化

时间:2019-07-07 14:40:54

标签: python python-3.x list numpy

我正在尝试对列表进行二值化(将0保留为0,并将任何其他数字转换为1),例如(格式示例,实际列表要长得多):

d = [[0,0,192],[0,0,0,0,56],[...],...]

With len(d) = 23473 and len(d[n])=300, so kind of a lot of data

有没有办法做到两个循环呢?我尝试了一下,这花费了很多时间,并将列表转换为长度>> 23473

#for i in np.linspace(0,len(d)-1,len(d),dtype=int):
#    for k in np.linspace(0,len(d[i])-1,len(d[i]),dtype=int):
#        if d[i][k] != 0:
#            d[i][k] = 1
#        else:
#            d[i][k] = 0

非常感谢您!

1 个答案:

答案 0 :(得分:4)

您可以使用<a href="http://example.com/20190707080000/20190707090000/channel1.mp3" download="Title_of_the_programme.mp3"> 的{​​{1}}和int(bool(x))的{​​{1}}的事实:

0

输出:

0

如果您已经在使用numpy(如您自己尝试过的解决方案所示),则可以像这样使用np.where

1