Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用numpy从摘要(频率)表生成逻辑(二进制)长数据表_Python_Numpy - Fatal编程技术网

Python 使用numpy从摘要(频率)表生成逻辑(二进制)长数据表

Python 使用numpy从摘要(频率)表生成逻辑(二进制)长数据表,python,numpy,Python,Numpy,在我最近的一篇文章中,我得到了一个很好的答案:如何使用numpy.repeat功能生成所谓的长数据格式。现在,我想知道有没有一种方法可以制作一个逻辑数据帧(或矩阵),从而使以后的一些统计更加容易 这就是我在“简单”python中生成的内容。但是我非常想知道如何使用numpy高效地完成它 import operator from itertools import chain t=((('a','b','c'),('w','x'), 2), (('d','e','f'),('y','z'),

在我最近的一篇文章中,我得到了一个很好的答案:如何使用numpy.repeat功能生成所谓的长数据格式。现在,我想知道有没有一种方法可以制作一个逻辑数据帧(或矩阵),从而使以后的一些统计更加容易

这就是我在“简单”python中生成的内容。但是我非常想知道如何使用numpy高效地完成它

import operator
from itertools import chain

t=((('a','b','c'),('w','x'), 2),
   (('d','e','f'),('y','z'), 3), 
   (('g','a','d'),('w','z'), 5))

columns=list(set(reduce(operator.add,(x[0]+x[1] for x in t))))

rows=[]

for i, j, n in t:
    row=[1 if e in i+j else 0 for e in columns]
    for i in range(n): rows.append(row)

rows
我想知道这是否是最有效的方法?我只是在学习numpy,我真的很惊讶它有多棒!:-)


谢谢!PM

你在这里干什么?列顺序无关紧要?(因为您使用的集合不保留顺序),在某种意义上,顺序并不重要,直到所有实例都列为列,并且最后一个元素用于计算重复(行)的数量。