dba*_*ron 5 python numpy median
我的主要目标是从浮动的巨大矩阵计算中位数(按列).例:
a = numpy.array(([1,1,3,2,7],[4,5,8,2,3],[1,6,9,3,2]))
numpy.median(a, axis=0)
Out[38]: array([ 1., 5., 8., 2., 3.])
Run Code Online (Sandbox Code Playgroud)
矩阵太大而不适合Python内存(~5 TB),所以我将它保存在csv文件中.所以我想遍历每一列并计算中位数.
有没有办法让我在不读取整个文件的情况下获取列迭代器?
关于计算矩阵中值的任何其他想法也会很好.谢谢!
我将通过初始化 N 个空文件(每一列一个)来完成此操作。然后一次一行读取矩阵并将每一列条目发送到正确的文件。处理完整个矩阵后,返回并按顺序计算每个文件的中值。
这基本上使用文件系统来进行矩阵转置。转置后,计算每行的中位数就很容易了。