我有这个数据框:
df = pd.DataFrame({'CLASS': ['A', 'B', 'A'],
'MEMBERS': ['foo & bar', 'bar & luz', 'baz']})
print(df)
# CLASS MEMBERS
# 0 A foo & bar
# 1 B bar & luz
# 2 A baz
首先,我想对列CLASS
进行分组,并组合列MEMBERS
的唯一值.其次,我需要唯一的组合以特定的顺序:['foo', 'bar', 'baz', 'luz']
.
我做到了第一个:
df.groupby('CLASS')['MEMBERS'].agg(lambda s: " & ".join(set(' & '.join(s).split(' & '))))
# CLASS
# A foo & baz & bar
# B luz & bar
# Name: MEMBERS, dtype: object
你们能教我怎么订货吗?
我的预期输出是:
# CLASS
# A foo & bar & baz
# B bar & luz
# Name: MEMBERS, dtype: object