对文本文件进行数学处理

对文本文件进行数学处理

我有 200 个文本文件。每个文本文件包含一列数学数字(100k 行)。

我想对这些数据进行一些统计处理(找到概率或分位数)。我知道每个文件关联的平均值和西格玛值。有没有直接的方法来计算数据集的概率或分位数?

如果没有,那么我知道分位数的公式 =(排序数据平均值)/sigma。例如

输入文件.txt

12.2  
10.11  
15.55  
5.01  
...
...
12.9

临时文件.txt

5.01  
10.11  
12.2  
12.9  
15.55  
... 
...

最终输出文件应包含两列。第一列与第二列相同temp_output.txt,第二列是每个元素的以下数学函数:

= (row(i)-mean)/sigma

其中平均值和西格玛是两个数学数字,分别为 10.1 和 2.02。对于上述值,最终输出文件应如下所示

输出.txt

5.01 -2.51980198  
10.11 0.004950495  
12.2 1.03960396  
12.9 1.386138614  
15.55 2.698019802  
... 
...

答案1

你有这样的事吗

mybox $ cat file1.txt
12.2
10.11
15.55
5.01
mybox $ awk -v mean=10.2 -v sigma=2.02 '{printf "%f %f\n",$1,($1-mean)/sigma ; }' file1.txt
12.200000 0.990099
10.110000 -0.044554
15.550000 2.648515
5.010000 -2.569307

神秘的部分

awk -v mean=10.2 -v sigma=2.02 '{printf "%f %f\n",$1,($1-mean)/sigma ; }' file1.txt

您打算如何提供mean1,mean2,...mean200?

相关内容