Pandas 在 groupby 之后添加 count 和 column with list
Pandas add count and column with list after groupby
我有以下数据框 df
:
Month Cat Constr Part
1/1/2021 asd v1 p1
1/1/2021 asd v1 p2
1/1/2021 asd v2 p1
1/1/2021 pqr v1 p1
1/1/2021 pqr v1 p2
1/1/2021 pqr v2 p2
我正在努力实现以下目标:
Month Cat Constr count part
1/1/2021 asd v1 2 [p1, p2]
1/1/2021 asd v2 1 [p1]
1/1/2021 pqr v1 2 [p1,p2]
1/1/2021 pqr v2 1 [p2]
要获取计数列,我执行以下操作:
df.groupby(['Month', 'Cat', 'Constr']).agg(['count'])
但我不确定如何添加属于 groupby
的 Part
的列表
我正在尝试按 ['Month', 'Cat', 'Constr']
进行分组,并根据唯一组合找到每个分组的 Part
的数量以及构成该组的 Part
的列表。
像你一样使用 groupby
但应用 list
:
>>> df.groupby(['Month', 'Cat Constr']).agg(list).reset_index()
Month Cat Constr Part
0 2021-01-01 asd v1 [p1, p2]
1 2021-01-01 asd v2 [p1]
2 2021-01-01 pqr v1 [p1, p2]
3 2021-01-01 pqr v2 [p2]
聚在一起:
>>> df.groupby(['Month', 'Cat Constr'])['Part'] \
.agg(count='count', part=list)
Month Cat Constr count part
0 2021-01-01 asd v1 2 [p1, p2]
1 2021-01-01 asd v2 1 [p1]
2 2021-01-01 pqr v1 2 [p1, p2]
3 2021-01-01 pqr v2 1 [p2]
我有以下数据框 df
:
Month Cat Constr Part
1/1/2021 asd v1 p1
1/1/2021 asd v1 p2
1/1/2021 asd v2 p1
1/1/2021 pqr v1 p1
1/1/2021 pqr v1 p2
1/1/2021 pqr v2 p2
我正在努力实现以下目标:
Month Cat Constr count part
1/1/2021 asd v1 2 [p1, p2]
1/1/2021 asd v2 1 [p1]
1/1/2021 pqr v1 2 [p1,p2]
1/1/2021 pqr v2 1 [p2]
要获取计数列,我执行以下操作:
df.groupby(['Month', 'Cat', 'Constr']).agg(['count'])
但我不确定如何添加属于 groupby
Part
的列表
我正在尝试按 ['Month', 'Cat', 'Constr']
进行分组,并根据唯一组合找到每个分组的 Part
的数量以及构成该组的 Part
的列表。
像你一样使用 groupby
但应用 list
:
>>> df.groupby(['Month', 'Cat Constr']).agg(list).reset_index()
Month Cat Constr Part
0 2021-01-01 asd v1 [p1, p2]
1 2021-01-01 asd v2 [p1]
2 2021-01-01 pqr v1 [p1, p2]
3 2021-01-01 pqr v2 [p2]
聚在一起:
>>> df.groupby(['Month', 'Cat Constr'])['Part'] \
.agg(count='count', part=list)
Month Cat Constr count part
0 2021-01-01 asd v1 2 [p1, p2]
1 2021-01-01 asd v2 1 [p1]
2 2021-01-01 pqr v1 2 [p1, p2]
3 2021-01-01 pqr v2 1 [p2]