replace方法引发错误TypeError:unhashable类型:'list'

时间:2018-02-27 21:33:46

标签: python pandas

我有一个对象,我想用其他值替换某些值。

TypeError: unhashable type: 'list'

当我尝试运行replacements

上面的命令时,出现错误

我希望dataframe.dtypes.replace(replacements)加入('object','timedelta[ns]'): 'varchar',

编辑: 添加()使其可以缓存:TypeError: Cannot compare types 'ndarray(dtype=object)' and 'tuple'

但现在收到此错误:

('object','timedelta[ns]'): 'varchar',

如果我删除EI = edge(im,'Sobel',([]),'Vertical'); histy = sum(EI,2); 任何想法,这不是问题吗?

1 个答案:

答案 0 :(得分:2)

您需要将密钥设为元组才能使其可以缓存:

rewind(f)

此外,您需要使用replacements = { ('object','timedelta64[ns]'): 'varchar', 'float64': 'float', 'int64': 'int', 'datetime64': 'timestamp' } ,而不仅仅是timedelta64[ns],因为您只能使用实际代表现有数据类型的字符串。类型timedelta[ns]来自NumPy,名称与此类似。