我有一个熊猫数据框,有大约30000条记录,希望找到一个特定列的所有记录,该列的总计数小于10。数据框包含临床试验数据,我需要过滤和更新的列是每个试验的疾病。许多临床试验中都出现了一些疾病,因此我需要首先筛选出所有出现次数少于10次的疾病,然后将这些文本更改为一个名为“other”的新字符串。所有这些信息都需要在同一列中更新
这是我编写的代码,但当我尝试运行它时,JupyterLab似乎冻结了
df_diseases = df.groupby(['Diseases']).filter(lambda x: x['Diseases'].count() < 10).apply(lambda x: x.replace(x,'other'))
你的问题的答案可以在这里找到(寻找Pedro M Duarte的答案):Get statistics for each group (such as count, mean, etc) using pandas GroupBy?
您可以使用
groupby().transform()
:或者可以使用
value_counts
和map
:相关问题 更多 >
编程相关推荐