python - 熊猫数据框的 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())
就像我提到的,不幸的是我无法想出一个样本数据集来复制。想知道是否有人对可能发生的事情有一个大致的了解?谢谢!
解决方案
原来是位置列抛出错误,其中包含字典作为值:{'latitude': '40.7388739110531', 'longitude': '40.738873911'}。由于字典是不可散列的,我们无法获得唯一计数。