栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

熊猫能否将groupby汇总成一个列表,而不是总和,平均值等?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

熊猫能否将groupby汇总成一个列表,而不是总和,平均值等?

我的解决方案比您预期的要长一些,我敢肯定它可以缩短,但是:

g = df.groupby("A").apply(lambda x: pd.concat((x["B"], x["C"])))k = g.reset_index()k["i"] = k1.indexk["rn"] = k1.groupby("A")["i"].rank()k.pivot_table(rows="A", cols="rn", values=0)# output# rn   1   2   3   4   5   6# A   # 1   10  12  11  22  20   8# 2   10  11  10  13 NaN NaN# 3   14  10 NaN NaN NaN NaN

有点解释。第一行,

g = df.groupby("A").apply(lambda x: pd.concat((x["B"],x["C"])))
。这一组
df
依据
A
,然后将列
B
C
放入一列:

A   1  0    10   1    12   2    11   0    22   1    20   2     82  3    10   4    11   3    10   4    133  5    14   5    10

然后

k = g.reset_index()
,创建顺序索引,结果是:

    A  level_1   00   1        0  101   1        1  122   1        2  113   1        0  224   1        1  205   1        2   86   2        3  107   2        4  118   2        3  109   2        4  1310  3        5  1411  3        5  10

现在,我想将此索引移到列中(我想听听如何在不重置索引的情况下创建顺序列)

k["i"] = k1.index

    A  level_1   0   i0   1        0  10   01   1        1  12   12   1        2  11   23   1        0  22   34   1        1  20   45   1        2   8   56   2        3  10   67   2        4  11   78   2        3  10   89   2        4  13   910  3        5  14  1011  3        5  10  11

现在,

k["rn"] = k1.groupby("A")["i"].rank()
将在每个行内添加row_number
A
(例如
row_number() over(partition by A order by i)
在SQL中:

    A  level_1   0   i  rn0   1        0  10   0   11   1        1  12   1   22   1        2  11   2   33   1        0  22   3   44   1        1  20   4   55   1        2   8   5   66   2        3  10   6   17   2        4  11   7   28   2        3  10   8   39   2        4  13   9   410  3        5  14  10   111  3        5  10  11   2

最后,只需枢纽

k.pivot_table(rows="A", cols="rn", values=0)

rn   1   2   3   4   5   6A   1   10  12  11  22  20   82   10  11  10  13 NaN NaN3   14  10 NaN NaN NaN NaN


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/661773.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号