计算两列的数字并生成矩阵?

计算两列的数字并生成矩阵?

我需要根据电子表格中的两列来计算数字。

假设文件如下所示,按名称、部门、小时排序:

原始文件

我需要按照部门统计每个人的工作时间:

矩阵

答案1

你似乎想要的是交叉制表或者列联表

awk虽然使用诸如、perl或之类的通用工具来实现解决方案是完全可能的python,但在我看来,最简单的方法是安装GNU 数据聚合- 然后你可以直接做

datamash --sort --whitespace --filler=0 crosstab 2,1 sum 3 < file

如果每对只有一个条目(如您的示例中所示),那么您可以使用unique代替sum

您还可以在许多电子表格应用程序中进行交叉制表 - 通常称为数据透视表

相关内容