繁体   English   中英

TypeError: 'Series' 对象是可变的,因此不能对列进行哈希处理

[英]TypeError: 'Series' objects are mutable, thus they cannot be hashed problemwith column

我的 dataframe 的一个列有问题,但我不明白为什么我的列 cat 上有问题。 在此处输入图像描述

在此处输入图像描述

您的系列包含其他pd.Series对象。 这是不好的做法。 通常,您应该确保您的系列是固定类型,以便您无需显式检查type即可执行操作。

您的错误是由于pd.Series对象不可哈希。 一种解决方法是使用 function 将pd.Series对象转换为可哈希类型,例如tuple

s = pd.Series(['one string', 'another string', pd.Series([1, 2, 3])])

def converter(x):
    if isinstance(x, pd.Series):
        return tuple(x.values)
    else:
        return x

res = s.apply(converter).unique()

print(res)

['one string' 'another string' (1, 2, 3)]
df_cat_tot['cat'].unique()

这将帮助您从此错误中恢复。 两种语法都是正确的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM