分组并记录分组值

2024-06-28 15:55:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下数据集:

Code    Value
100004  1
1017    1
1017    3
1071    1
1071    3
3039    1
3397    1
3397    3

我可以使用pandasDataFrame.groupby('Code',as\u index=False).agg('count')计算值

我想计数,并在同一时间记录在一个新的列值。我希望结果像下面的例子

Code       NoValues      Values
100004     1             1
1017       2             1,3
1071       2             1,3
3039       1             1
3397       2             1,3

有可能和熊猫一起做吗


Tags: 数据falseindexvalueascount记录code
1条回答
网友
1楼 · 发布于 2024-06-28 15:55:50

您可以使用groupby+agg

df.Value.groupby(df.Code).agg({'Values': lambda g: list(g), 'NumValues': lambda g: len(g)}).reset_index()

例如:

df = pd.DataFrame({'Code': [1004, 1004, 1007], 'Value': [1, 2, 8]})
>>> df.Value.groupby(df.Code).agg({'Values': lambda g: list(g), 'NumValues': lambda g: len(g)}).reset_index()
    Code    NumValues   Values
0   1004    2   [1, 2]
1   1007    1   [3]

相关问题 更多 >