我刚从 NumPy 开始,所以我可能会遗漏一些核心概念......
从值是列表的字典创建 NumPy 数组的最佳方法是什么?
像这样的东西:
d = { 1: [10,20,30] , 2: [50,60], 3: [100,200,300,400,500] }
应该变成这样的东西:
data = [
[10,20,30,?,?],
[50,60,?,?,?],
[100,200,300,400,500]
]
我将对每一行做一些基本的统计,例如:
deviations = numpy.std(data, axis=1)
问题:
从字典创建 numpy.array 的最佳/最有效方法是什么?字典很大;几百万把钥匙,每把钥匙大约有 20 件物品。
每个“行”的值的数量是不同的。如果我理解正确 numpy 想要统一大小,那么我应该为缺失的项目填写什么以使 std() 满意?
更新:我忘了提一件事——虽然 Python 技术是合理的(例如,循环数百万个项目很快),但它仅限于单个 CPU。Numpy 操作可以很好地扩展到硬件并使用所有 CPU,因此它们很有吸引力。