数字流的统计信息

use*_*136 0 python bash perl

我有一个包含多行的文件,每行包含30,000个整数.我有兴趣计算各种统计量,例如每行的均值/媒体/方差等.

例如,给定一个内容为的文件

1 2 3 4 5
6 8 9 0 10 11 12
Run Code Online (Sandbox Code Playgroud)

我想要一个类似的输出

(std = 1.4142135623730951, mean = 3.0, median = 3.0)
(std = 3.7416573867739413, mean = 8.0, median = 9.0)    
Run Code Online (Sandbox Code Playgroud)

除了自己写东西(通过数字获得幸福)之外,我还有什么选择?这有什么单行吗?

一个bash/python/perl /等.解决方案是优选的,因为简单.

mgi*_*son 7

不是一线,但非常简单(只要你安装了numpy).

import numpy as np
with open(filename) as f:
    for line in f:
        a=np.array(line.split(),dtype=int)
        print(a.std(),a.mean(),np.median(a))  #standard-deviation, mean, median
Run Code Online (Sandbox Code Playgroud)