如何从第一列中有数字的文件中获取平均、中值、平均统计数据?

use*_*349 2 unix linux statistics ubuntu-14.04

我有一个文件,其中包含以秒为单位的数字,如下所示:

0.01033
0.003797
0.02648
0.007583
0.007491
0.028038
0.012794
0.00524
0.019655
0.019643
0.012969
0.011087
0.044564
Run Code Online (Sandbox Code Playgroud)

从该文件中获得“平均值”、“平均值”、“中位数”、“95%”和“99%”的最佳方法是什么?我的 linux 盒子中有这个文件,所以我需要一些 linux 命令来获取这些统计信息。

ran*_*mir 6

如果您不受任何特定工具的约束,请尝试使用GNUdatamash - 一个用于对文本文件进行“命令行统计操作”的好工具。

要获得第一列/字段的均值、中位数、百分位数 95 和百分位数 99 值(注意,字段TAB默认为-separated):

$ datamash --header-out mean 1 median 1 perc:95 1 perc:99 1  < file
mean(field-1)   median(field-1) perc:95(field-1)    perc:99(field-1)
0.016128538461538   0.012794    0.0346484   0.04258088
Run Code Online (Sandbox Code Playgroud)