Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >跨列获取前5位值的列共享

跨列获取前5位值的列共享
EN

Stack Overflow用户
提问于 2018-05-13 08:17:20
回答 1查看 41关注 0票数 0

我将下列数据存储在一个列表中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
set.seed = 12345
df1 = data.frame(replicate(10,sample(0:500,1000,rep=TRUE)))
df2 = data.frame(replicate(10,sample(0:500,1000,rep=TRUE)))
list = list(df1, df2)

我怎样才能做到以下几点:

1)对于每一列,为每一列获取每个元素在列和(即每个元素除以列总数)中所占的份额,只对前5个值取这些份额的总和(其中这些前5个值的顺序将在各列之间不同)。

然后,输出将是一个由两个向量组成的列表( df1和df2各一个),每个向量包含10个共享。

我想使用应用程序家族来完成这个任务。不过,欢迎提出任何建议。事先非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-13 08:21:05

我们可以使用list循环lapply,将数据集除以每列的列和('x1'),通过循环(sapply)在每一列中选择前5,并获得head,然后用cbind list元素创建两个列的数据集。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
do.call(cbind,lapply(list, function(x) {
   x1 <- x/colSums(x)[col(x)]
   sapply(x1, function(y) sum(head(sort(y, decreasing = TRUE), 5)))}))

或使用tidyverse

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(tidyverse)
map(list, ~ .x %>% 
               summarise_all(funs(sum(tail(sort(./sum(.)), 5)))) %>% 
               unlist %>%
               as_tibble) %>%
   bind_cols
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50318151

复制
相关文章
获取GridView中的某列值
    protected void GridView1_RowEditing(object sen
Java架构师必看
2021/03/22
10.3K0
Pandas 查找,丢弃列值唯一的列
数据清洗很重要,本文演示如何使用 Python Pandas 来查找和丢弃 DataFrame 中列值唯一的列,简言之,就是某列的数值除空值外,全都是一样的,比如:全0,全1,或者全部都是一样的字符串如:已支付,已支付,已支付…
萝 卜
2022/05/12
5.8K0
Pandas 查找,丢弃列值唯一的列
小程序跨行跨列多列复杂表格实现
上面的例子中,最外层一共有4行:基础工资,加班工资,岗位工资,合计。第一层数据的 name 展示为第一列,如果每组数据有 children,取出 children 展示为第二列… 如果 children 长度为0,则直接显示工资数额。
solocoder
2022/04/06
1.8K0
小程序跨行跨列多列复杂表格实现
删除列中的 NULL 值
今天接到一个群友的需求,有一张表的数据如图 1,他希望能通过 SQL 查询出图 2 的结果。
白日梦想家
2020/07/20
10K0
删除列中的 NULL 值
ORACLE列值合併
在SQL Server中合併列值能够使用For Xml Path,在Oracle中則能够使用wm_concat 或 ListAgg。
全栈程序员站长
2022/07/13
1.1K0
使用EXCLE表格,有相同列,取某一列的值
如图,我有两列MAC地址表,然后需要把F列的值取值到D列,可以使用公式:=VLOOKUP(A1,$E$1:$F$44,2,0)进行处理数据。A1代表以哪一列为基础取值参考,$E$1:$F$44代表查找对比范围。
Tacc
2022/01/11
4.4K0
使用EXCLE表格,有相同列,取某一列的值
关于mysql给列加索引这个列值中有null的情况
在需求中由于要批量查数据,且表中数据量挺大(2300万条记录) 且查询条件的这两个字段没有加索引,为了增加查询速度,现在需要去为这两个字段添加索引。 刚开始加索引想到的问题:
袁新栋-jeff.yuan
2020/08/26
4.3K0
用过Excel,就会获取pandas数据框架中的值、行和列
至此,我们已经学习了使用Python pandas来输入/输出(即读取和保存文件)数据,现在,我们转向更深入的部分。
fanjy
2021/11/29
19.4K0
用过Excel,就会获取pandas数据框架中的值、行和列
(3)合并列值与分拆列值
在SQL中分拆列值和合并列值老生常谈了,从网上搜刮了一下并记录下来,以便不时之需 :)
跟着阿笨一起玩NET
2018/09/18
1.2K0
(3)合并列值与分拆列值
Excel公式技巧73:获取一列中长度最大的数据值
在《Excel公式技巧72:获取一列中单元格内容的最大长度》中,我们使用一个简单的数组公式:
fanjy
2020/12/18
6.4K0
Excel公式技巧73:获取一列中长度最大的数据值
Windows - Hash散列值抓取方法
LM Hash(LAN Manager Hash)其本质是 DES 加密。在 Windows 2008 及开始之后默认禁用的是 LM Hash。
渗透攻击红队
2020/11/25
1.9K0
Windows - Hash散列值抓取方法
用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。
数据库中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。
全栈程序员站长
2022/07/09
1.7K0
内网渗透测试研究:从NTDS.dit获取域散列值
本文我们将演示如何获取域控制器上的Ntds.dit文件并提取其中的域账户和密码哈希。
FB客服
2020/10/27
3.2K0
内网渗透测试研究:从NTDS.dit获取域散列值
如何使用python连接MySQL表的列值?
MySQL 是一个开源关系数据库管理系统,广泛用于存储、管理和组织数据。使用 MySQL 表时,通常需要将多个列值组合成一个字符串以进行报告和分析。Python是一种高级编程语言,提供了多个库,可以连接到MySQL数据库和执行SQL查询。
很酷的站长
2023/08/11
3320
如何使用python连接MySQL表的列值?
python | pandas 改变列的位置、填充缺失值
本期的文章源于工作中,需要固定label的位置,便于在spark模型中添加或删除特征,而不影响模型的框架或代码。 spark的jupyter下使用sql 这是我的工作环境的下情况,对你读者的情况,需要具体分析。 sql = ''' select * from tables_names -- hdfs下的表名 where 条件判断 ''' Data = DB.impala_query(sql) -- 是DataFrame格式 **注意:**DB是自己写的脚本文件 改变列的位置 前
努力在北京混出人样
2018/05/14
5.3K0
PBI-基础入门:添加列与新建列(计算列)
大海:在Power BI里增加列有2种方法,一种是咱们在学Power Query里的“添加列”方法,还有一种是在PowerPivot里的新建“计算列”方法。具体操作方法如下:
大海Power
2021/08/30
7.6K0
python | pandas 改变列的位置、填充缺失值
本期的文章源于工作中,需要固定label的位置,便于在spark模型中添加或删除特征,而不影响模型的框架或代码。 spark的jupyter下使用sql 这是我的工作环境的下情况,对你读者的情况,需要具体分析。 sql = ''' select * from tables_names -- hdfs下的表名 where 条件判断 ''' Data = DB.impala_query(sql) -- 是DataFrame格式 **注意:**DB是自己写的脚本文件 改变列的
努力在北京混出人样
2019/02/18
4.9K0
分离链接的散列散列代码实现
散列 散列为一种用于以常数平均时间执行插入,删除和查找的技术。一般的实现方法是使通过数据的关键字可以计算出该数据所在散列中的位置,类似于Python中的字典。关于散列需要解决以下问题: 散列的关键字如何映射为一个数(索引)——散列函数 当两个关键字的散列函数结果相同时,如何解决——冲突 散列函数 散列函数为关键字->索引的函数,常用的关键字为字符串,则需要一个字符串->整数的映射关系,常见的三种散列函数为: ASCII码累加(简单) 计算前三个字符的加权和$\sum key[i] * 27^{i}$ (不太
月见樽
2018/04/27
1.6K0
select count(*)、count(1)、count(主键列)和count(包含空值的列)有何区别?
最直接的方法,我想就是通过10053事件,来看下不同SQL对应的执行计划和资源消耗等情况,进而看看是否有些信息可以为我们所用。
bisal
2019/01/29
3.4K0
怎样能自动按列01 列02 最大为列99,来设置列标题?
前几天在Python最强王者交流群有个粉丝咨询了这个问题:获取到数据表的列数比较简单,一般不超过99列,怎样能自动按列01 列02 最大为列99,来设置列标题?一劳永逸,以后这类场景都这样套用。
前端皮皮
2022/12/19
1.1K0
怎样能自动按列01 列02  最大为列99,来设置列标题?

相似问题

如何在BigQuery中跨多个列(动态)获取前3列及其值

17

跨列获取最高值

10

如何基于跨2个Dataframes的共享列创建具有列值的新列?

30

跨两列获取唯一值

218

(Oracle)跨列获取最大值

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文