gpt4 book ai didi

python - Pandas dataframe groupby 到列表中,列表在单元格数据中

转载 作者:行者123 更新时间:2023-12-01 09:18:03 28 4
gpt4 key购买 nike

考虑这个输入 df

my_input_df = pd.DataFrame({
'export_services': [[1],[2,4,5],[4,6], [2,4,5],[1]],
'seaport':['china','africa','europe', 'mexico','europe'],
'price_of_fish':['100','200','250','125','75']})

如何对包含列表的列进行分组并将其他列组合成一个列表?

my_output_df = pd.DataFrame({
'export_services': [[1],[2,4,5],[4,6]],
'seaport':[['china','europe'],['africa','mexico'],'europe'],
'price_of_fish':[['100','75'],'200',['250','125']]})

我尝试过

my_input_df.groupby('export_services').apply(list)

这给出了

TypeError: unhashable type: 'list'

有什么想法吗?

注意:如果 my_output_df 中的所有分组行都是列表,即使对于单个条目也是如此。

最佳答案

首先,转换为可以进行哈希处理的元组:

df.export_services = df.export_services.apply(tuple)

groupbyagg

df.groupby('export_services').agg(list).reset_index()

export_services seaport price_of_fish
0 (1,) [china, europe] [100, 75]
1 (2, 4, 5) [africa, mexico] [200, 125]
2 (4, 6) [europe] [250]

关于python - Pandas dataframe groupby 到列表中,列表在单元格数据中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51052416/

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