gpt4 book ai didi

Python groupby错误, 'unhashable'系列对象

转载 作者:太空宇宙 更新时间:2023-11-03 12:59:29 25 4
gpt4 key购买 nike

我有一个包含值( float )和国家/地区名称字符串(“UNITED STATES”、“UNITED KINGDOM”等)的 Pandas DataFrame。我想根据国家汇总这些值:

Data['Values'].groupby(Data['Country']).sum()

不幸的是,我收到以下错误:

TypeError: 'Series' objects are mutable, thus they cannot be hashed

此外,如果我尝试使由国家组成的系列独一无二:

Data['Country'].unique()

同样的错误:

TypeError: 'Series' objects are mutable, thus they cannot be hashed

为什么会出现这个错误?是关于国名的吗?任何帮助将不胜感激。我正在使用 Python 3.4 和 Pandas 0.15.2。

最佳答案

有时,可变类型(如列表(在本例中为 Series))可能会潜入您的不可变对象(immutable对象)集合中。

您可以使用apply 强制所有对象不可变。尝试

Data.Country = Data.Country.apply(str)
Data.groupby('Country').Values.sum()

请注意,这可能导致字符串不是您预期的那样;例如str(['Canada']) -> ['Canada']" 所以 str(['Canada']) == 'Canada' 将产生 False。我建议执行 Data.Country.unique() 并至少进行目视检查以确保一切看起来都正常。

关于Python groupby错误, 'unhashable'系列对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27804729/

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