计算文件中每一列的平均值

2023-12-12

我有一个包含 n 行(以逗号分隔)和列的文本文件,我想找到每列的平均值,不包括空字段。

示例输入如下所示:

1,2,3
4,,6
,7,

期望的输出是:

2.5, 4.5, 4.5

我尝试过

awk -F',' '{ for(i=1;i<=NF;i++) sum[i]=sum[i]+$i;if(max < NF)max=NF;};END { for(j=1;j<=max;j++) printf "%d\t",sum[j]/max;}' input

但它将连续的分隔符视为一个分隔符并混合列。 任何帮助深表感谢。


您可以使用这一行:

$ awk -F, '{for(i=1; i<=NF; i++) {a[i]+=$i; if($i!="") b[i]++}}; END {for(i=1; i<=NF; i++) printf "%s%s", a[i]/b[i], (i==NF?ORS:OFS)}' foo
2.5 4.5 4.5

否则,您可以将其保存在文件中script.awk并运行awk -f script.awk your_file:

{
    for(i=1; i<=NF; i++) {
        a[i]+=$i
        if($i!="") 
            b[i]++}
    } 
END {
    for(i=1; i<=NF; i++) 
        printf "%s%s", a[i]/b[i], (i==NF?ORS:OFS)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算文件中每一列的平均值 的相关文章

  • 如何在正则表达式之后打印单词但不打印相似的单词?

    我想要一个 awk 或 sed 命令来打印正则表达式之后的单词 我想找到一个单词后面的单词 但不是看起来相似的单词 该文件如下所示 somethingsomething X Windows Icon xournal somethingsom
  • 如何使用AWK脚本检查表的所有列数据类型? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在这里 我正在检查表中第一列的数据类型 但我想知道AWK中表的所有列数据类型 我尝试过 但只能获得一列数据类型 例如 Column 1
  • 如何让“grep -zoP”单独显示每个匹配项?

    我有一个此表格的文件 X this is the first match blabla X this is the second match and here we have some fluff 我想提取 X 之后和相同标记之间出现的所有
  • awk: hping: 打印 icmp 发起/接收之间的差异

    我有以下输出hping http ports su net hping在 OpenBSD 上 hping icmp ts www openbsd org HPING www openbsd org re0 129 128 5 194 icm
  • git 别名中的 AWK 语句

    我正在尝试创建一个 git 别名来以特定格式打印日志中的所有拉取请求 但是 我在使用 AWK 删除双空格时遇到问题 这是使用以下命令的 git log 的输出 git log merges grep pull request pretty
  • awk/Unix 分组依据

    有这个文本文件 name age joe 42 jim 20 bob 15 mike 24 mike 15 mike 54 bob 21 试图得到这个 计数 joe 1 jim 1 bob 2 mike 3 Thanks awk F NR
  • 使用 awk 读取文件并搜索另一个文件

    我正在读取一个文件 每行都有数字 我需要搜索另一个满足这些数字和其他条件的文件 我正在尝试使用 awk 来做到这一点 但遇到了问题 File a txt 1476 1477 1497 现在我需要打印第 12 列包含这些数字的行以及第 3 列
  • 协助 awk/bash 捕获内存差异

    我正在尝试从以下文件中提取以下输出 xr lab show clock Thu Sep 19 14 38 02 812 WIB 14 38 02 893 WIB Thu Sep 19 2019 xr lab xr lab xr lab sh
  • 折叠具有多个字段的行

    我有这个代码 awk seen 1 2 a 1 a 1 a 1 t 2 END for i in a print i a i inputfile 我想折叠具有两个以上字段的行 但始终基于第一个字段作为索引 输入文件 三列制表符分隔 prot
  • Bash + sed/awk/cut 删除第 n 个字符

    我试图删除每行的第 6 7 和第 8 个字符 下面是包含文本格式的文件 实际输出 cat test 18 40 12 172 16 70 217 UP 18 42 15 172 16 70 218 DOWN 格式化后如下所示 cat tes
  • SQL:计算高于组平均值的值

    如何使用 SQL 计算高于一组平均值的值 例如 我有桌子A with q t 1 5 1 6 1 2 1 8 2 6 2 4 2 3 2 1 第 1 组的平均值为 5 25 组内有两个值高于5 25 8和6 因此高于该组平均值的值的数量为
  • awk 返回两个变量

    现在这就是我正在做的事情 ret ls la awk print 3 9 usr echo ret awk print 1 fil echo ret awk print 2 问题是我没有运行ls我正在运行一个需要时间的命令 因此您可以理解其
  • 对 numpy 数组的每 n 个元素求平均值

    我有一个 numpy 数组 我想创建一个新数组 它是每个连续三元组元素的平均值 因此 新数组的大小将是原始数组的三分之一 举个例子 np array 1 2 3 1 2 3 1 2 3 应该返回数组 np array 2 2 2 谁能建议一
  • Bash如何使用awk在空行上分割文件

    我有一个文本文件 A in 我想将其拆分为多个文件 每次发现空行时都应该进行拆分 文件名应该是渐进的 A1 in A2 in I found this https stackoverflow com questions 16483507 s
  • 带变量的 AWK 负正则表达式

    我在 bash 脚本中使用 awk 来比较两个文件以获取不匹配的行 我需要将第二个文件的所有三个字段 作为一个模式 与第一个文件的所有行进行比较 第一个文件 chr1 9997 10330 HumanGM18558 peak 1 150 1
  • D3 删除千位的逗号分隔符

    我有一个包含 3 列的 json 其中一列是 年份 该列仅包含年份 没有日期 当我在 x 轴上绘制它时 年份会以逗号分隔符表示数千 所以在 json 中 日期的格式是 Year 1990 在 x 轴上 结果是 1 990 我一直在试图弄清楚
  • 在linux中将包含word的行从一个文件复制到另一个文件

    我想复制包含某些单词的行file1 to file2 Suppose file1 ram 100 ct 50 gopal 200 bc 40 ravi 50 ct 40 krishna 200 ct 100 file2应该只有包含 ct 的
  • 使用 SED 将单词的第一个字母大写

    如何将单词的第一个字母替换为大写字母 例如 Trouble me Gold rush brides into Trouble Me Gold Rush Brides 这一行应该做到这一点 sed e s b u 1 g
  • 使用 awk 处理多个文件

    我必须使用 awk 处理大量 txt 文件 每个文件 1600 万行 我必须阅读例如十个文件 File 1 en sample 1 200 en n sample 2 10 en sample 3 10 File 2 en sample 1
  • awk 数组输出行数和平均值

    感谢以下 karakfaawk输出结果为数组 我正在尝试添加 2到数组并输出它 2基本上是唯一条目出现的次数 正如我正在学习的awk数组我不知道我的尝试是否接近 Input chr1 955542 955763 AGRN exon 1 1

随机推荐

  • Neo4J Java Native API 与 Traversal API 与 Cypher

    有人做过 Neo4J Java Native API Traversal API 和 Cypher 的性能评估吗 从性能角度来看 上述三个选项中哪一个会给我带来更好的结果 另外 对于写入操作 我应该使用 Native java API 还是
  • 使用VBA从多个单元格中提取超链接

    我想遍历一列 并提取要在代码中使用的每个超链接 将其与某些文本进行比较 关于如何进行提取部分有什么好的建议吗 您可以使用 Hyperlinks 1 Address获取超链接 例如 这将提取从 A1 到 A5 的超链接 Sub Sample
  • getMaxAmplitude() 始终返回 0

    我正在尝试获取Sound Level Pressure表达于decibel但我总是得到0 输出的TextView is 无穷但是因为log 0 无穷大 public class SLP extends Activity TextView s
  • Android 中的 DalvikVM 与 JavaVM?

    一般来说 Android 将每个应用程序作为 Dalvik VM 中的单独进程运行 我从Doc 但我不明白使用 Dalvik VM for Android 的主要原因是什么 它比Java VM有什么优势 分享您的知识 它有助于 提前致谢 我
  • Matplotlib Finance (mplfinance) 使用 mpf.plot() 格式化图表轴

    MPL 财务很棒 但我似乎无法调整轴的格式 在图像中 我只想显示日期 而不显示 00 00 时间 还有价格 我想添加美元货币和小数位 变量 import pandas as pd import mplfinance as mpf df pd
  • 使用 spring jpa 和 spring test 时,数据未插入到数据库中

    RunWith SpringJUnit4ClassRunner class Transactional ContextConfiguration classes SimpleConfiguration class public class
  • iOS 7.1 颜色变化,如何更改搜索栏颜色?

    On iOS7 0 3 7 0 6 my searchBar colour is Gold yellow colour like this 但在 iOS 7 1 上 颜色变成了这样 I set searchBar tintColor UIC
  • 解析异常:在第 1 行第 0 列:未找到元素

    我有一个奇怪的问题 我收到以下导致强制关闭的错误 org apache harmony xml ExpatParser ParseException 在第 1 行第 0 列 在 org apache harmony xml ExpatPar
  • 将 Java 中的加密代码转换为 Ruby

    我一直在尝试将java中的加密代码转换为ruby 但我无法完全做到这一点 我得到不同的价值观 passphrase passphrase STATIC KEY byte key passphrase getBytes UTF 8 Messa
  • 在 Ubuntu 上绘制大型示波器文件时出现内存错误

    我正在尝试读取大型示波器 trc文件并绘制它们 绘制一个文件是可行的 但是一旦我将脚本放入循环中 尝试绘制所有文件 1 个文件一个循环 我就会得到一个MemoryError Code import os import pandas as p
  • 使用 Adob​​e CQ5 的外部数据库?

    有什么办法可以连接外部数据库吗mysql可以连接到Adobe CQ5 Adobe cq5 中的 JCR Java Content Repository 现在默认连接到 H2 数据库 如何使其使用 sql mysql 转到 system co
  • 如何强制 Visual Studio 引用本地企业库 DLL 文件而不是已安装的目录文件

    我有一个引用企业库 DLL 的 asp net 项目 我可以构建和部署我的项目 但部署构建失败 因为它找不到 DLL 例如 我查看了 Microsoft Practices EnterpriseLibrary Common 的属性 我注意到
  • 我可以在 OpenCV 中使用重映射来获取点位置吗

    我拍了一张照片A使用 RGB 相机 我知道一个点的位置g在照片中A 相机需要进行相机校准 现在我想知道点的位置g校准后 我使用的代码如下 但我想获取点位置 而不是图像 我怎样才能做到这一点 你能给我一些建议吗 initUndistortRe
  • jquery 选项卡的下一个-上一个功能

    我需要在单击 Next 和 Prev html 按钮时为 jquery 选项卡提供 Next Prev 功能 我在用jquery 1 9 1 js and jquery ui 1 10 2 custom js文件 我已经实现了下面的代码 但
  • 如何使用sql定义的函数作为字段?

    我正在使用 SQL 在 Sql Management Studio 2012 中创建表 如何使用 Sql Server 中已定义的名称 例如 User ID User Name 创建字段或列 我想将它们用作表中的字段 表定义来自重复帖子 c
  • VB6代码升级[重复]

    这个问题在这里已经有答案了 可能的重复 从 VB6 迁移到 NET 的最佳策略 Visual Basic 6 0 转换工具比较 有没有任何人都可以推荐的好工具来将商业 VB6 应用程序转换为 VB NET 应用程序 我发现了一些免费的和一些
  • 尝试对 python httplib 中无法访问的网络进行套接字操作

    我正在尝试使用 httplib 从 django 创建 REST 客户端 但它拒绝连接 我尝试了以下方法 import hashlib import hmac from django shortcuts import render to r
  • 更新期间 MS Access 字段过多

    当我尝试在 MS Access 中更新表时 它给出错误 指出定义的字段太多 我用谷歌搜索 发现我需要修复和压缩 我做了 但仍然不起作用 有人有什么想法吗 另外 什么实际上算作 太多字段 计数器 Thanks 我似乎找到了答案 Microso
  • 在保存之前删除不会失效:是真的吗?

    我的情况 我有复杂的 24 个实体 许多关系和许多有序对多关系 模型Core Data 现在假设我有一个实体PlayList和一个实体Song 并在PlayList有序对多关系Song 这种关系存在逆关系 并且两者都有nullify删除规则
  • 计算文件中每一列的平均值

    我有一个包含 n 行 以逗号分隔 和列的文本文件 我想找到每列的平均值 不包括空字段 示例输入如下所示 1 2 3 4 6 7 期望的输出是 2 5 4 5 4 5 我尝试过 awk F for i 1 i lt NF i sum i su