首页 > 解决方案 > 对 pandas 中的 groupby 函数感到好奇,如何为通用数据集编写 groupby?

问题描述

我想为 groupby 编写一个通用函数,假设我有大约 100 列的数据集,例如它有 70 个分类列,30 个数字属性,现在我想编写一个通用 python 函数,它将只获取数据集并将以图表或数据的形式显示适当的 groupby 结果,在我开始之前有什么专家建议吗?

谢谢, 希瓦姆

标签: pythonpandasgroup-bypandas-groupby

解决方案


您可以合并标准库中的 random 模块以获取所有数字列的随机样本。

df = pd.DataFrame({
        'a': list('abcde'),
        'b': ['1','2','3','4','5'],
        'c': range(5),
        'd': [i*21 for i in range(5)],
        'e': [12,32,45,67,54]})

str_cols = df.select_dtypes(exclude='number').columns.tolist()
num_cols = random.sample(df.select_dtypes('number').columns.tolist(), k=2)
dff = df.loc[:, str_cols+num_cols]
print(dff)

   a  b   d  c
0  a  1   0  0
1  b  2  21  1
2  c  3  42  2
3  d  4  63  3
4  e  5  84  4

推荐阅读