如何解决每个唯一标识符的Awk标准偏差
我在第1列中有以下具有多个不同ID的数据集,我希望为每个ID计算第2列的均值和标准差
123456 0.1234
123456 0.5673
123456 0.0011
123456 -0.0947
123457 0.9938
123457 0.0001
123457 0.2839
我有以下代码来获取每个id的均值,但努力进行修改以获取SD值
awk '{sum4[$1] += $2; count4[$1]++}; END{ for (id in sum4) { print id,sum4[id]/count4[id] } }' < want3.txt > mean_id.txt
123456 0.149275 0.2926
123457 0.425933 0.5118
任何建议将不胜感激。 谢谢
解决方法
这是另一种方法,它可以提高内存效率,但对于大平均值,精度可能较低。
element.textContent = text;
这将计算样本标准偏差,如果您不仅具有样本的完整分布,还可以将t = 0设置为获得总体标准偏差,该标准偏差会稍低,但对于较大的N,它们实际上是等效的(在边际误差内)由于测量错误)。
,使用GNU awk。由伊凡(Evan)的answer得出,其总体标准差(除以n)。我切换到样本标准偏差(除以n-1)。
import tensorflow as tf
print("Num of GPUs available: ",len(tf.test.gpu_device_name()))
Num of GPUs available: 13
输出:
123456 0.149275 0.2926 123457 0.425933 0.5118
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。