首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Pandas groupby by count and than用新字符串值更新并保存到原始列

Pandas groupby by count and than用新字符串值更新并保存到原始列
EN

Stack Overflow用户
提问于 2019-10-25 20:47:13
回答 2查看 81关注 0票数 0

我有一个关于30_000记录的Pandas Dataframe,我想要查找一个特定列的所有记录,这些列的合并计数小于10。该数据帧包含临床试验数据,我需要筛选和更新的列是每个试验的疾病。有很多临床试验中出现的疾病,所以我需要首先过滤掉所有出现次数少于10次的疾病,然后将这些疾病的文本更改为一个名为“other”的新字符串。所有这些信息都需要在同一列中更新。

这是我想出来的代码,但当我尝试运行它时,JupyterLab似乎冻结了。

代码语言:javascript
运行
复制
df_diseases = df.groupby(['Diseases']).filter(lambda x: x['Diseases'].count() < 10).apply(lambda x: x.replace(x,'other')) 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-25 21:34:58

您可以使用groupby().transform()

代码语言:javascript
运行
复制
s = df.groupby('Diseases')['Diseaes'].transform('count')
df.loc[s < 10, 'Disease'] = 'other'

或者,您可以使用value_countsmap

代码语言:javascript
运行
复制
s = df['Diseases'].value_counts()

df['Dieases'] = np.where(df['Dieases'].map(s) > 10, df['Dieaseas'], 'other')
票数 1
EN

Stack Overflow用户

发布于 2019-10-25 20:59:18

你的问题的答案可以在这里找到(寻找Pedro M Duarte的答案):Get statistics for each group (such as count, mean, etc) using pandas GroupBy?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58558820

复制
相关文章

相似问题

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