我在Mongo中有一个聚合查询,它返回的数据如下:
{a: 1, b: 2, c: 3}
{a: 4, b: 5, c: 6}
{a: 7, b: 8, c: 9}
我想对a、b和c执行FFT,我需要将数据放入3个numpy数组中,如下所示:
^{pr2}$使用numpy做这个最好的选择是什么,因为现在我正在做一个for循环,这需要很长时间。在
更新:
mongo的结果是一个可编辑的游标 我现在的做法是这样的:
a = []
b = []
c = []
for item in aggregation_list:
a.append(item['a'])
b.append(item['b'])
c.append(item['c'])
假设您有来自MongoDB查询的字典列表,下面是如何根据数组的值构造数组:
您可以将不同的行解压成不同的变量,如下所示(尽管这需要事先了解字典的数量,并且只对少数字典有意义):
^{pr2}$更好的方法是构建一个ndarray,每一行都包含来自上述字典值的交错值:
数据的格式似乎可以很容易地进入pandas,而从那里获得的pandas API速度更快,因为可以矢量化而不是循环。在
相关问题 更多 >
编程相关推荐