我有一本矩阵字典。
字典称为dict。
dict[location]
返回该位置的方形 n x n 相关数据帧。
locations
是所有位置的列表。 (字典中的键)。
我基本上想跨键创建数据帧中每个 i,j 组件的列表,并取所有这些组件的中值。您可以将其视为将矩阵堆叠在一起并取每个 i,j 元素的中值。我希望我解释得足够清楚。
我想知道是否有一种聪明的方法可以做到这一点。我想避免制作 n(n+1)/2 个唯一的 i,j 对的列表,然后取中值,然后将它们放回最终中值矩阵(数据帧)中的正确位置。
最佳答案
这似乎运作良好且高效。
numpy.median(dict.values(),axis=0)
一般来说,中位数需要内存中的所有数据,除非您只想要一个估计值。因此,对于大量数据,您必须分块工作:
numpy.median( [m[0:10,0:10], for m in dict.values()], axis=0)
关于python - 许多矩阵的元素中位数,python pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26469470/