Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何调用列表元素计算新的data.frame列

如何调用列表元素计算新的data.frame列
EN

Stack Overflow用户
提问于 2020-05-15 14:52:08
回答 3查看 34关注 0票数 1

给定一个分组的data.frame和一个包含涉及每个组的另一个特征的总数的list (组1为70,组2为90 ):

代码语言:javascript
运行
AI代码解释
复制
group <- c(1,1,1,1,2,2,2,2,2)
n<- c(2,4,10,2,4,5,2,8,9)  
df <- data.frame(group, n) %>%
  group_by(group)

mylist <- list(70, 90)

如何向data.frame中添加一个新列,以反映mylist中每个nn/mylist[[i]]*100给出的相应组中所占的比例

我想过使用map_dbl来遍历列表元素,但是,我想不通如何在mutate (类似于df %>% mutate ("Percent" = n / map_dbl (mylist, .)*100))中调用这些命令来进行百分比计算,最终使其看起来像这样:

代码语言:javascript
运行
AI代码解释
复制
df$percent %>% c (2.9, 5.7, 14.3, 2.9, 4.4, 5.6, 2.2., 8.9, 10.0)
df

调用list元素以将其包含在计算中的优雅方式是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-05-15 15:01:29

也许这就是

代码语言:javascript
运行
AI代码解释
复制
df %>% mutate(p = n/map_dbl(group, ~mylist[[.]]) * 100)

基本上,映射group来拉出mylist的选定元素。

您还可以考虑使用联接。

票数 2
EN

Stack Overflow用户

发布于 2020-05-15 14:57:26

我知道它不使用purrr,但是就用rowwise()怎么样

代码语言:javascript
运行
AI代码解释
复制
library(dplyr)
df %>%
  rowwise %>%
  mutate(percent = n / mylist[[group]] * 100)
## A tibble: 9 x 3
#  group     n percent
#  <dbl> <dbl>   <dbl>
#1     1     2    2.86
#2     1     4    5.71
#3     1    10   14.3 
#4     1     2    2.86
#5     2     4    4.44
#6     2     5    5.56
#7     2     2    2.22
#8     2     8    8.89
#9     2     9   10   
票数 1
EN

Stack Overflow用户

发布于 2020-05-15 15:02:04

您可以首先将列表数据表示为data.frame,以使其更易于使用。

代码语言:javascript
运行
AI代码解释
复制
library(dplyr)
library(data.table)
group <- c(1,1,1,1,2,2,2,2,2)
n<- c(2,4,10,2,4,5,2,8,9)  
df <- data.frame(group, n) %>%
  group_by(group)

setDT(df)

mylist <- data.table(
  group = c(1 ,2), 
  other.metric = c(70, 90)
)
dt <- merge(df, mylist, by = "group")
dt[, n_share := n / other.metric * 100]
dt
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61822105

复制
相关文章
如何去掉列表中重复的元素
列表,在Python中是最常见的一种数据类型,对它了解的越多,编程的效率就越高。
TalkPython
2019/10/29
8.2K0
如何去掉列表中重复的元素
Python 列表如何添加元素
添加前: 'my', 'name', 'is', 'mark', 'age', 18
用户8418197
2022/02/13
1.9K0
如何从列表中获取元素
观察URAM的物理管脚,不难发现A/B端口都有相应的地址、使能、读写控制信号。与BRAM不同的是URAM的读写使能信号是同一个管脚RDB_WR_A/B,其为0时执行读操作,为1时执行写操作,这意味着一旦A/B端口独立,同一端口的读写操作就无法同时发生,因此,如果采用上一篇文章中介绍的方法将其配置为两个独立的单端口RAM,其读写行为与常规的单端口RAM是不同的,进一步而言,此时的读写行为类似于NO_Change模式。
Lauren的FPGA
2019/10/30
18.6K0
R语言:lengths计算列表list中元素的个数
一看,还以为是length函数,我们要介绍的函数后面多了一个s,专门用于计算列表list的长度,下面用例子来呈现我们的函数。
努力在北京混出人样
2019/02/18
3.5K0
python比较列表中元素大小和列表中元素的判定
列表的判定主要是判定列表中是否包含某个元素,使用逻辑运算符判定就可以了;列表的比较稍微复杂一些,首先比较的是两个列表中对应元素的大小,如果元素值一样,再比较列表长度。
python自学网
2021/12/01
5.9K0
python比较列表中元素大小和列表中元素的判定
列表元素分组
有这样一种场景,有三个列表a、b、c。我们想要把每一个列表中的第一个元素取出来分为一组,第二元素取出来分为一组、第三个元素取出来分为一组,以此类推。该怎么做呢?你可以自己想一想,再来看下面的实现过程。
TalkPython
2019/05/24
1.1K0
如何从 Python 列表中删除所有出现的元素?
在 Python 中,列表是一种非常常见且强大的数据类型。但有时候,我们需要从一个列表中删除特定元素,尤其是当这个元素出现多次时。本文将介绍如何使用简单而又有效的方法,从 Python 列表中删除所有出现的元素。
网络技术联盟站
2023/06/01
13.7K0
如何把一个Python列表(含多个元素)变成一个excel表格的第一列?
最近在继续开发“兰州疫情可视化软件”,没错年前托大了,以至于现在都么有完全上线,昨天我还沉浸在能够写出GET请求的API,并且通过了postman的测试,但是数据库存的数据格式转换成json文件有些格式转换问题,这里拿出一个其中的一个小问题,加以解决。
Baige
2022/03/09
2.1K0
如何把一个Python列表(含多个元素)变成一个excel表格的第一列?
如何将文章列表用<li>分两列显示
  我们平时用ul或ol标签来罗列文章列表时默认是一列,为了美观起见,想把它们两列显示要如何操作呢?怎么用css定义它们?   其实相对比较简单,用几行css样式定义一下就够了,可以用div + css来控制 <style type="text/css"> .ytkah{ width:300px; height:74px; float:left;} .ytkah ul{ width:280px;} .ytkah li{ width:100px; float:left; display:block;} </s
ytkah
2018/03/06
2K0
PHPCMS栏目列表的调用
这串代码的意思是,取出当前栏目的所有子栏目ID,观察下数据库会发现,位于最右边的则是当前栏目的最小子栏目ID,所以取出最后一个栏目的ID,最后就用$CATEGORYS得出最小栏目ID的父栏目ID。 最后,我们只需要用下面代码即可调用出最小栏目的父栏目列表
李维亮
2021/07/09
9.1K0
从列表中或数组中随机抽取固定数量的元素组成新的数组或列表
2:jQuery版本 那么jQuery中怎么随机选出固定数组数组[1, 2, 3, 4, 5, 6, 7, 8, 9]中的三个元素,并构造成新数组的?
王小婷
2018/08/02
6.4K0
Python中如何获取列表中重复元素的索引?
昨天分享了一个文章,Python中如何获取列表中重复元素的索引?,后来【瑜亮老师】看到文章之后,又提供了一个健壮性更强的代码出来,这里拿出来给大家分享下,一起学习交流。
前端皮皮
2022/08/17
14.1K0
Python中如何获取列表中重复元素的索引?
再谈谈列表元素的删除
之前(以及更早之前)都提到了列表元素的删除,也提到过几种方法,有兴趣的朋友可以去看看,其中一种个人比较倾向的写法大概是这个样子(C++):
用户2615200
2018/08/02
1.9K0
再谈谈列表元素的删除
如何把一个python列表(有很多个元素)变成一个excel表格的第一列?
前几天在Python最强王者群有个叫【麦当】的粉丝问了一个关于Python如何把一个python列表(有很多个元素)变成一个excel表格的第一列的问题,这里拿出来给大家分享下,一起学习。
Python进阶者
2022/04/12
2.6K0
如何把一个python列表(有很多个元素)变成一个excel表格的第一列?
如何删掉R列表里面的空元素
思路就是将所有miRNA的靶基因做成一个以miRNA名字来命名的列表,批量预测你自己候选miRNA的靶基因,就只需要取这个列表的子集就可以了。
生信交流平台
2022/09/21
1.2K0
如何删掉R列表里面的空元素
零基础Python教程-如何修改列表中的元素
为了更好的学习在列表中如何修改元素,我们这次将用一个简单的小游戏作为例子,我们现在要创建一个游戏,要求玩家射杀从天而降的敌人;为此,可在开始时将一些敌人存储在列表中,然后每当有敌人被杀死时,就将其从列表中删除,而每次有新的敌人出现在屏幕上时,都将其添加到列表中。在整个游戏运行期间,敌人列表的长度将不断变化。
小小科
2019/12/26
5.6K0
python删除列表元素
remove 删除单个元素,删除首个符合条件的元素,按值删除,返回值为空 List_remove = [1, 2, 2, 2, 3, 4] print(List_remove.remove(2)) print("after remove", List_remove) # None # after remove [1, 2, 2, 3, 4] ---- pop 删除索引位置元素,无参情况下删除最后一个元素,返回删除的元素值 List_pop = [1, 2, 2, 2, 3, 4] print(List
演化计算与人工智能
2020/08/14
1.7K0
元素下方超出换列
Result This is a bunch of text split into three columns using the CSS `columns` property. The text is equally distributed over the columns.
阿超
2023/05/11
2190
根据某列相同元素求和
下面是一个需要计算相同基因的exon的长度的文件,即根据相同的基因,先计算基因的起点到终点的距离,再对相同的基因的的exon距离求和
生信编程日常
2020/06/11
1K0
根据某列相同元素求和
【Python】列表 List ① ( 数据容器简介 | 列表 List 定义语法 | 列表中存储类型相同的元素 | 列表中存储类型不同的元素 | 列表嵌套 )
Python 中的 数据容器 数据类型 可以 存放多个数据 , 每个数据都称为 元素 , 容器 的 元素 类型可以是任意类型 ;
韩曙亮
2023/10/11
9370
【Python】列表 List ① ( 数据容器简介 | 列表 List 定义语法 | 列表中存储类型相同的元素 | 列表中存储类型不同的元素 | 列表嵌套 )

相似问题

如何计算列表中的元素数并创建新列?

30

从列表的data.frame元素连接列

10

使用模型列表计算data.frame中的新值

22

计算元素在data.frame列中发生的次数

33

使用列表元素的差异计算新列表

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档