表 Activities
:
+-------------+---------+ | 列名 | 类型 | +-------------+---------+ | sell_date | date | | product | varchar | +-------------+---------+ 该表没有主键(具有唯一值的列)。它可能包含重复项。 此表的每一行都包含产品名称和在市场上销售的日期。
编写解决方案找出每个日期、销售的不同产品的数量及其名称。
每个日期的销售产品名称应按词典序排列。
返回按 sell_date
排序的结果表。
解题思路:
1.根据sell_date进行分组,并对product进行去重计数和拼接展示和排序
2.根据sell_date进行排序
# 对 'product' 列按唯一值进行分组,并对每组进行聚合操作
activities_group = activities.groupby('sell_date')['product'].agg([('num_sold', 'nunique'), ('products', lambda x: ','.join(sorted(set(x))))])
# 重置索引并按 'sell_date' 排序
result_table = activities_group.reset_index().sort_values('sell_date')
return result_table