gpt4 book ai didi

python - 聚合方法和 lambda 函数

转载 作者:太空宇宙 更新时间:2023-11-04 09:32:50 26 4
gpt4 key购买 nike

我有一个数据框 df 并且想获取每个类的 ID 列表:

import pandas as pd
list1 = [[1, ('A', 'B', 'C')], [2, ('M', 'E', 'F')], [3, ('H', 'A', 'D')], [4, ('H', 'A', 'D')]]
df = pd.DataFrame(list1, columns=['ID', 'Class'])

df 看起来像

ID    Class
1 (A, B, C)
2 (M, E, F)
3 (H, A, D)
4 (H, A, D)

期望的输出是:

Class        ID 
(A, B, C) [1]
(M, E, F) [2]
(H, A, D) [3, 4]

我尝试使用下面的代码,但它不起作用。谢谢。

df.groupby('Class')['ID'].aggregate(lambda x: list(x))

最佳答案

你应该使用

df.groupby('Class').ID.agg(list).reset_index()
Out[473]:
Class ID
0 (A, B, C) [1]
1 (H, A, D) [3, 4]
2 (M, E, F) [2]

修复代码

df.groupby('Class')['ID'].aggregate(lambda x: x.tolist())

关于python - 聚合方法和 lambda 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55027910/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com