【发布时间】:2016-11-21 13:21:03
【问题描述】:
我有以下数据框,列 :ID' 中的某些值重复。 我想按数据农场分组
df = pd.DataFrame(
{'Score': [0.65, 0.57, 0.56, 0.689, 0.56, 0.85, 0.45, 0.15, 0.14, 0.4678],
'ID': ['AAA', 'BBB', 'SAS', 'SAP', 'TCS', 'BBB', 'CTC', 'CTC', 'CTC', 'CTC'],
'Sample': ['AE01', 'AE01', 'AE03', 'AE03', 'AE03', 'AE05', 'AE05', 'AE05', 'AE05', 'AE05'],
'Freq': [1, 14, 14, 15, 16, 17, 18, 19, 20, 21],
'Type': ['Non', 'IND', 'IND', 'IND', 'IND', 'IND', 'IND', 'IND', 'IND', 'IND']},
columns=['Sample','ID','Type','Score','Freq'])
当我尝试通过使用transform 遵循单线将其分配给原始数据帧 df 的选项时,将“Re”列添加到 group by 选项中
df['Re']=df.drop_duplicates(['Sample','ID']).groupby(['ID']).transform(size)
我收到以下错误,
ValueError: Wrong number of items passed 4, placement implies 1
我知道我可以进行合并以获取按结果分配给组的原始数据框,但是当我合并时,我会得到某些行,这些行在原始 df 中重复多次,这是我不需要的。任何更好的解决方案都会很棒。 谢谢
【问题讨论】:
标签: python pandas dataframe group-by assign