首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果表的长度不同,如何对多个表中的列值进行求和?

如果表的长度不同,如何对多个表中的列值进行求和?
EN

Stack Overflow用户
提问于 2015-06-17 04:49:30
回答 3查看 159关注 0票数 8

好的,这应该是一个简单的问题,但我正在寻找一个尽可能快的解决方案。

假设我有3个表(表的数量要大得多):

代码语言:javascript
运行
AI代码解释
复制
tab1 <- table(c(1, 1, 1, 2, 2, 3, 3, 3))
tab2 <- table(c(1, 1, 4, 4, 4))
tab3 <- table(c(1, 1, 2, 3, 5))

我们得到的是:

代码语言:javascript
运行
AI代码解释
复制
> tab1
1 2 3 
3 2 3 
> tab2
1 4 
2 3 
> tab3
1 2 3 5 
2 1 1 1 

我想要一种快速的方式,以便它能够与许多大表一起工作:

代码语言:javascript
运行
AI代码解释
复制
1 2 3 4 5
7 3 4 3 1

因此,基本上所有names上的表都是聚合的。是否有一个基本的函数来完成这一点,这是我所缺少的?谢谢你的帮忙!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-06-17 05:02:43

我们连接(c) tab输出以创建'v1',使用tapply获取按该对象的names分组的元素的sum

代码语言:javascript
运行
AI代码解释
复制
v1 <- c(tab1, tab2, tab3)
tapply(v1, names(v1), FUN=sum)
#1 2 3 4 5 
#7 3 4 3 1 
票数 12
EN

Stack Overflow用户

发布于 2015-09-17 17:11:00

你可以用rowsum()。输出将与所显示的略有不同,但在计算之后始终可以对其进行重构。众所周知,rowsum()非常高效。

代码语言:javascript
运行
AI代码解释
复制
x <- c(tab1, tab2, tab3)
rowsum(x, names(x))
#   [,1]
# 1    7
# 2    3
# 3    4
# 4    3
# 5    1

这里还有一个基准测试,其中还添加了akrun的data.table建议。

代码语言:javascript
运行
AI代码解释
复制
library(microbenchmark)
library(data.table)

xx <- rep(x, 1e5)

microbenchmark(
    tapply = tapply(xx, names(xx), FUN=sum),
    rowsum = rowsum(xx, names(xx)),
    data.table = data.table(xx, names(xx))[, sum(xx), by = V2]
)
# Unit: milliseconds
#        expr       min        lq      mean    median        uq       max neval
#      tapply 150.47532 154.80200 176.22410 159.02577 204.22043 233.34346   100
#      rowsum  41.28635  41.65162  51.85777  43.33885  45.43370 109.91777   100
#  data.table  21.39438  24.73580  35.53500  27.56778  31.93182  92.74386   100
票数 5
EN

Stack Overflow用户

发布于 2015-06-17 05:01:50

你可以试试这个

代码语言:javascript
运行
AI代码解释
复制
df <- rbind(as.matrix(tab1), as.matrix(tab2), as.matrix(tab3))
aggregate(df, by=list(row.names(df)), FUN=sum)
  Group.1 V1
1       1  7
2       2  3
3       3  4
4       4  3
5       5  1
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30892120

复制
相关文章
SQL如何对不同表的数据进行更新
如果我们有表A和表B, 我想把我的表A的Col1内的数据更新到表B的Col1里面,那么我们怎么做呢?
繁华是客
2023/03/03
3.8K0
【说站】Python如何对多个sheet表进行整合?
1、xlwt模块是非追加写入.xls模块,所以要一次性写入for循环和列表,这样就没有追加和非追加的说法。
很酷的站长
2022/11/24
1.1K0
【说站】Python如何对多个sheet表进行整合?
如何使用python连接MySQL表的列值?
MySQL 是一个开源关系数据库管理系统,广泛用于存储、管理和组织数据。使用 MySQL 表时,通常需要将多个列值组合成一个字符串以进行报告和分析。Python是一种高级编程语言,提供了多个库,可以连接到MySQL数据库和执行SQL查询。
很酷的站长
2023/08/11
9230
如何使用python连接MySQL表的列值?
Django ORM 查询表中某列字段值
方式一获取到的是一个QuerySet,内容是键值对构成的,键为表的列名,值为对应的每个值。
BigYoung小站
2020/05/04
3.9K0
问与答129:如何对#N/A文本值进行条件求和?
它们输出的结果看起来相似,但实质上是不同的:在A1和A2中是文本类型,而A3和A4中是错误类型。从数据的对齐方式上也可以反映出来。
fanjy
2021/07/12
2.5K0
问与答129:如何对#N/A文本值进行条件求和?
如何对CDP中的Hive元数据表进行调优
在日常使用中,我们可以发现在hive元数据库中的TBL_COL_PRIVS,TBL_PRIVS 、PART_COL_STATS表相当大,部分特殊情况下NOTIFICATION_LOG也可能存在问题,如果集群中有关联的操作时会导致元数据库响应慢,从而影响整个Hive的性能,本文的主要目的通过对Hive 的元数据库部分表进行优化,来保障整个Hive 元数据库性能的稳定性。
从大数据到人工智能
2022/09/16
3.6K0
如何对CDP中的Hive元数据表进行调优
使用spark对hive表中的多列数据判重
本文处理的场景如下,hive表中的数据,对其中的多列进行判重deduplicate。 1、先解决依赖,spark相关的所有包,pom.xml spark-hive是我们进行hive表spark处理的关键。 <dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.10</artifactId> <ver
用户1225216
2018/03/05
5.6K0
如何对矩阵中的所有值进行比较?
需求相对比较明确,就是在矩阵中显示的值,需要进行整体比较,而不是单个字段值直接进行的比较。如图1所示,确认矩阵中最大值或者最小值。
逍遥之
2020/05/14
8.3K0
[Office] 如何对Excel二维表中的所有数值进行排序
在Excel中,如果想对一个一维的数组(只有一行或者一列的数据)进行排序的话(寻找最大值和最小值),可以直接使用Excel自带的数据筛选功能进行排序,但是如果要在二维数组(存在很多行和很多列)的数据表中排序的话,就要巧用函数来实现了。
轻舞飞扬SR
2021/02/24
10.6K0
[Office] 如何对Excel二维表中的所有数值进行排序
不同列不同行的数据如何进行转置?
案例模拟文件下载 http://gofile.me/4KHV7/SUo5ywXxC
逍遥之
2020/03/24
3.1K0
不同列不同行的数据如何进行转置?
Excel公式技巧14: 在主工作表中汇总多个工作表中满足条件的值
我们可能熟悉使用INDEX、SMALL等在给定单列或单行数组的情况下,返回满足一个或多个条件的值的列表。这是一项标准的公式技术。
fanjy
2020/03/12
9.6K0
sql对多个条件进行分组求和_分组求和法例题附答案
大家好,又见面了,我是你们的朋友全栈君。 在ireport中实现分组,求和。效果如下 name total A 2 A 3 subtotal 5 B 4 B 5 subtotal 9 添加Document–>Variables–>Variable Name 建立自定义的求和函数 设置相关属性。 Calculation 设置为sum reset type为report Reset group 选择自己创建的分组。 increment type 为Group Variable Expression填写你要累计的对象表达式。 new Integer($F{rxNo}) Initial Value Expression处填写数据类型的初始化对象。 new java.lang.Integer(0)
全栈程序员站长
2022/10/03
2.9K0
MySQL分区表对NULL值的处理
MySQL的分区表没有禁止NULL值作为分区表达式的值,无论它是列值还是用户提供的表达式的值,需要记住NULL值不是数字。MySQL的分区实现中将NULL视为小于任何非NULL值,与order by类似。
GreatSQL社区
2023/02/22
9780
MySQL分区表对NULL值的处理
MySQL的分区表没有禁止NULL值作为分区表达式的值,无论它是列值还是用户提供的表达式的值,需要记住NULL值不是数字。MySQL的分区实现中将NULL视为小于任何非NULL值,与order by类似。
老叶茶馆
2023/02/18
1.6K0
MySQL分区表对NULL值的处理
如何生成A-AZ列 excel表的列 不用序号的那种?
前几天在Python最强王者交流群【逸】问了一个Pyhton处理Excel的问题,这里拿出来给大家分享下。
前端皮皮
2022/12/19
1.9K0
如何生成A-AZ列 excel表的列 不用序号的那种?
0885-7.1.6-如何对CDP中的Hive元数据表进行调优
作者:唐辉 1.文档编写目的 在日常使用中,我们可以发现在hive元数据库中的TBL_COL_PRIVS,TBL_PRIVS 、PART_COL_STATS表相当大,部分特殊情况下NOTIFICATION_LOG也可能存在问题,如果集群中有关联的操作时会导致元数据库响应慢,从而影响整个Hive的性能,本文的主要目的通过对Hive 的元数据库部分表进行优化,来保障整个Hive 元数据库性能的稳定性。 测试环境 1.CDP7.1.6 、启用Kerberos 2.元数据版本 MariaDB-5.5.60 2.问题
Fayson
2022/08/26
2.6K0
0885-7.1.6-如何对CDP中的Hive元数据表进行调优
如何在 Tableau 中对列进行高亮颜色操作?
在做数据分析时,如果数据量比较大,可以考虑使用颜色对重点关注的数据进行高亮操作,显眼的颜色可以帮助我们快速了解数据和发现问题。比如一个数据表可能会有十几到几十列之多,为了更好的看清某些重要的列,我们可以对表进行如下操作——
小马哥的牛棚
2020/08/20
6.1K0
matinal:Python 对Excel表进行操作
matinal
2023/10/14
1710
matinal:Python 对Excel表进行操作
点击加载更多

相似问题

对多个表中的值进行连接和求和

12

对多个表中的多个值求和

10

如何对列动态表中的值求和

22

如何对不同的值求和透视表

126

标题表中的计算字段,用于对不同表中的值进行求和

123
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档