首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将列表中的随机元素添加到现有数据帧字符串中

将列表中的随机元素添加到现有数据帧字符串中
EN

Stack Overflow用户
提问于 2021-08-11 11:08:16
回答 2查看 46关注 0票数 0

我有一个数据框架。df‘’Skill‘=python,sql,java。现在,对于每个字符串,我想添加随机元素(高、低、中)。例如:df‘’Skill‘=python:high,sql:low,java:medium。

我试过一个代码,但它在字符串的末尾添加了“低”、“高”、“中”的分数。

有人能建议一下我该怎么做吗?

代码语言:javascript
复制
score=['low','medium','high']
df[Skill']=df['Skill'].apply(lambda x:[x + ": " + "".join(w for w in random.choice(score))])

输出:

代码语言:javascript
复制
['python, java, sql: medium']

但我想要的是python: low, java: high, sql: medium

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-11 11:17:21

请检查以下内容:

代码语言:javascript
复制
df['Skill']= df['Skill'].apply(lambda x:','.join([y+': '+random.choice(score) for y in x.split(',')]))
票数 1
EN

Stack Overflow用户

发布于 2021-08-11 11:16:07

试试这个:

代码语言:javascript
复制
import random
skill = ['python','java', 'sql', 'html']
score=['low','medium','high']
select_score = list()
for i in range(len(skill)):
    select_score.append(random.choice(score))

select_score

freq_s = (dict(zip(skill, select_score)))
freq_s

输出:

代码语言:javascript
复制
{'python': 'medium', 'java': 'low', 'sql': 'medium', 'html': 'low'}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68740830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档