这是场景:
我有一个大的有序数据集,包含314列和300.000行以上的ML问题。
我想按X列(供应商)对数据集进行分组。
所需的输出:
由于我们谈论的是314列数据集,所以我不能只创建包含每一列的字典。
df_train.groupby('Supplier').agg({<some columns> : 'last', <some columns>: 'sum', <some columns>: 'mean' })
PS:我按照想要应用不同聚合的顺序对列进行了排序。
答案 0 :(得分:0)
您可以使用select_dtypes
获取数字列,并将其用于字典理解中。
numeric_cols = df_train.select_dtypes('numeric').columns
agg_dict = {c: 'sum' if c in numeric_cols else 'last' for c in df_train.columns}
grouped = df_train.groupby('Supplier').agg(agg_dict)
关于一键编码的列,您将需要提供有关如何识别它们的更多信息。