分组后统计查询

news2024/11/26 14:38:32

【问题】

I am trying to select top values in a column based on the variable/field in another column. it is a very large tab delimited file.

Input:

Names col2 col3 col4 
A    A1   def  10 
A    A1   BBB  10 
A    A1   CED  10 
A    A1   fff  7.5 
B    B1   def  7.5 
B    B1   dff  5.5 
B    B1   fff  4.5 
C    C1   ggg  6.5 
C    C3   iii  6.5 
C    C2   hhh  5.0 
C    C4   toi  6.5 
D    D1   xyz  10.0 
D    D2   ikj  7.5 
D    D3   abc  7.5 
...  

Output

Names col2 col3 col4  
A    A1   def  10  
A    A1   BBB  10  
A    A1   CED  10  
B    B1   def  7.5  
C    C1   ggg  6.5  
C    C3   iii  6.5  
C    C4   toi  6.5  
D    D1   xyz  10.0  

Basically, I want all the rows with values 10 and the top values for each of the names in column1. Any inputs to solve this by perl, awk or sed are well appreciated.
Thanks.

【回答】

分组后查询再合并是典型的结构化计算,用Shell实现会相对复杂,用SPL会方便些:

A
1=file("file.txt").import@t()
2=A1.group(Names)
3=A2.((a=~.max(col4),~.select(col4==a|| col4==10)))
4=A3.union()

A1:读取文件file.txt中的内容。

A2:按Names分组。

A3:A2.(…)表示对A2中的每个成员依次计算,(a=~.max(col4),~.select(col4==a|| col4==10)) 表示依次计算括号内的表达式,并返回最后一个表达式的结果。其中a=~.max(col4)表示将每组数据中col4的最大值返回给变量a,~.select(col4==a|| col4==10)表示选择每组中clo4等于a或者10的记录,~.select(col4==a|| col4==10)就是括号运算符要返回的结果。

A4:合并A3。

SPL也可以命令行方式在unix/linux下执行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/42569.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2022秋季信息安全技术(期末复习)

目录 问答题考点: 1.简单替换密码加解密 2.DES算法的原理: ​编辑3.RSA算法的全过程: 4.基于公开密钥的数字签名方案 5.单项散列函数的特点: 6.简述信息的完整性、可用性、保密性 7.简述数字水印的主要特征 8.论述公开密钥…

Qt 工程添加windows库文件

文章目录背景编译出错查看openTrace函数在Qt 工程中添加库文件添加后pro文件背景 项目中用到了“C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\shared\evntrace.h" 文件中的接口OpenTrace 等。 编译出错 error LNK2019: 查看openTrace函数…

R语言中的LDA模型:对文本数据进行主题模型topic modeling分析

主题建模 在文本挖掘中,我们经常收集一些文档集合,例如博客文章或新闻文章,我们希望将其分成组,以便我们可以分别理解它们。最近我们被客户要求撰写关于主题模型的研究报告,包括一些图形和统计输出。主题建模是对这些…

SoftLabel

来从标签平滑和知识蒸馏理解,先探讨一下hard label和soft label之间的关系,然后介绍一下如何用可靠的方法得到蕴含更多信息的soft label,其中主要包含标签平滑和知识蒸馏两种经典方法。 深度学习领域中,通常将数据标注为hard lab…

Listener(监听器)-ServletContextListener

开发工具与关键技术: IDEA 撰写时间:2022/11/28 监听器可以监听就是在 application , session , request 三个对象创建、销毁或者往其中添加修改删除属性时自动执行代码的功能组件。 ​ application 是 ServletContext 类型的…

linux-划分分区挂载磁盘

本操作以该场景为例, 当云主机挂载了—块新的数据盘时, 使用fdisk分区工具将该数据盘设为主分区, 分区方式默认设置为MBR, 文件系统设为ext4格式, 挂载在 “/mnt/sdc"下, 并设置开机启动自动挂载。 1.执行以…

Vue3常用知识点总结

一、vue3的基本介绍及项目创建 Vue是一套用于构建用户界面的渐进式框架。Vue.js 3.0 "One Piece" 正式版在2020年9月份发布,经过了2年多开发, 100位贡献者, 2600次提交, 600次PR,同时Vue3也支持Vue2的大多数特性,且,更好的支持了TypeScript,也增加了很多的…

Linux 进程信号深剖

目录传统艺能😎概念🤔信号发送🤔信号记录🤔信号产生🤔常见信号处理方式🤔终端按键产生信号🤔核心转储😋如何调试🤔系统函数发送信号🤔raise函数🤔…

单片机驱动LCD

单片机驱动LCD的方法有很多,网络上也有很多配套的例程,但是,网上例程千千万,谁是你的“no.1”。 今天给大家分享一个以面向对象的方式用单片机驱动LCD的思路。 LCD种类概述 在讨论怎么写LCD驱动之前,我们先大概了解…

无线传感器网络:差错控制

文章目录Power controlAutomatic repeat request (ARQ)Stop and WaitGo Back NSelective RepeatForward error correction (FEC)Hybrid ARQ (HARQ)References严格意义来说,文章中提到的数据包都应为数据帧更为恰当,这里提出,希望不要给大家造…

3.9 拆解小红书爆文,流量密码原来是这些【玩赚小红书】

具体如何撰写1篇爆文,解决这一问题前,我们先把爆文四要素,选题、首图、标题和正文进行拆解,真正做到选题正确,用户坐着封面、标题、正文滑滑梯,站内留下点赞评,站外去拔草。 ​ 一、选题&#…

了解模型开发与部署,看这里!

11月24日下午15:00顶象第十期业务安全系列大讲堂系列课程《Xintell 模型平台 》正式开讲。 顶象人工智能专家&研发总监无常从模型平台的现状与需求出发,带大家了解了模型平台的开发环境与部署环境,并且就顶象的Xintell 模型平台 为大家做…

[附源码]Python计算机毕业设计DjangoON-FIT

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

1988-2020年分省、城市、农村基尼系数数据集(含计算程序和算法)

1、数据来源:《中国统计年鉴》 2、时间跨度:1988-2020 3、区域范围:全国所有省份 4、指标说明: 参照田为民的文章《中国基尼系数计算及其变动趋势分析》里基尼系数的计算方法 部分数据如下 二、基尼系数计算及相关经典文献 …

win10怎么把两个盘合成一个,win10怎么把分区合并

在Windows10系统中,为了更加充分地利用磁盘空间,其中合并分区是很常见的操作之一。由于很多用户都不知道win10怎么把两个盘合成一个,所以,为了防止人为误操作而导致的磁盘数据丢失,在本文中,易我小编在本文…

1024短信盲盒 | 暖心短信陪你过节,还有更多好礼

掘友你好,见字如面。 一年一度的程序员节快要到了,我们为此准备了一个特别的短信盲盒活动。现在报名,活动期间每天都会定时收到一条来自掘金的短信,在活动最后一天10.24日,可能还会收到掘金团队不同成员的祝福哦&#…

给容灾找对象!数据流转更自由,拓宽云上更多场景

云计算高速发展,企业却有新问题? 1979年,软件和IT服务公司SunGard在美国费城建立了世界上第一个灾备中心,对数据和系统进行备份,标志着数据灾备行业的起源。20世纪80-90年代,计算机网络技术的迅速发展和普及…

文本表示(Representation)

文本表示(Representation) 这里写目录标题文本表示(Representation)独热编码(one-hot representation)整数编码Word2vec模型整体理解我的理解CBoW & Skip-gram Model改进方案Hierarchical SoftmaxNegative Sampling代码GloveG…

Servlet请求转发与重定向

目录 一、请求转发 1、RequestDispatcher 接口 2、请求转发的工作原理 3、request 域对象 4、示例 二、重定向 1、response.sendRedirect() 2、示例 3、转发和重定向的区别 一、请求转发 Web 应用在处理客户端请求时,经常需要多个 Web 资源共同协作才能生成…

工作中规范使用Java集合

目录 一、前言 二、规范使用Java集合 1.【强制】关于 hashCode 和 equals 的处理,遵循如下规则: 2.【强制】判断所有集合内部的元素是否为空,使用 isEmpty() 方法,而不是 size() 0 的方式。 3.【强制】在使用 java.util.str…