首页 > 解决方案 > 熊猫数据框的 unique() 出现奇怪错误

问题描述

不幸的是,我无法生成可复制的示例,但这是我遇到的问题 - 使用一个数据框,我能够遍历列并保存每列唯一值的计数。使用另一个数据帧,它与第一个数据帧具有相同的列和数据——唯一的区别是第二个数据帧都是对象 dtypes,而第一个数据帧有一些整数和浮点数——我遇到了一个“不可散列的类型:‘dict’ ' 错误。

这有效:

for col in olddf.columns:
    unique = len(olddf[col].unique())
    print(col, unique)

我得到一个不可散列的类型:'dict'错误:

for col in orig_results.columns:
    unique = len(orig_results[col].unique())

就像我提到的,不幸的是我无法想出一个样本数据集来复制。想知道是否有人对可能发生的事情有一个大致的了解?谢谢!

在此处输入图像描述

标签: pythonpandasdataframeunique

解决方案


原来是位置列抛出错误,其中包含字典作为值:{'latitude': '40.7388739110531', 'longitude': '40.738873911'}。由于字典是不可散列的,我们无法获得唯一计数。


推荐阅读