分组后转为列表
语法
使用聚合函数,按照指定规则进行分组聚合
作用
对【Group】该列进行分组,分组后将【Value1】和【Value2】分别用列表进行组合,【OtherColumn】取第一个值
效果
代码
import pandas as pd# 创建一个示例DataFrame
data = {'Group': ['A', 'A', 'B', 'B', 'A'],'Value1': [1, 2, 3, 4, 5],'Value2': [10, 20, 30, 40, 50],'OtherColumn': ['X', 'Y', 'X', 'Y', 'Z']
}df = pd.DataFrame(data)# 定义如何对每列进行聚合,例如Value1和Value2列聚合成列表,OtherColumn取第一个值
agg_functions = {'Value1': list,'Value2': list,'OtherColumn': 'first'
}# 使用groupby和指定的聚合函数对DataFrame进行分组聚合
grouped_df = df.groupby('Group').agg(agg_functions).reset_index()print(grouped_df)
分组后转为字典
语法
使用聚合函数,按照指定规则进行分组聚合
作用
对【Group】该列进行分组,分组后将【Value1】和【Value2】分别用列表进行组合,【AnotherCol】和【SampleCol】分别用字典进行组合
效果
代码
data = {'Group': ['A', 'A', 'B', 'B', 'A'],'Value1': [1, 2, 3, 4, 5],'Value2': [10, 20, 30, 40, 50],'AnotherCol': ['X', 'Y', 'Z', 'W', 'V'],'SampleCol': ['A1', 'A2', 'B1', 'B2', 'A3']
}df = pd.DataFrame(data)# 定义一个函数,将一系列值转换为字典
def to_dict(series):return series.to_dict()# 对特定列执行列表聚合,对其余列进行to_dict聚合
agg_functions = {'Value1': list,'Value2': list,'AnotherCol': to_dict,'SampleCol': to_dict
}# 使用groupby和指定的聚合函数对DataFrame进行分组聚合
grouped_df = df.groupby('Group').agg(agg_functions).reset_index()print(grouped_df)