我从json
读取数据,其中一些是重复的,所以我想删除它们,请注意有2列(douban_info
和omdb_info
)仍然在{ {1}}格式
但是,如果我执行json/dict
(包含json内容的列),则会失败。
但是,如果我pd_data.drop_duplicates(['douban_info'])
(常规专栏),它会起作用。
那么如何成功删除这些重复项?
例外:
pd_data.drop_duplicates(['detail_url'])
注意:我可以在哪里放TypeError Traceback (most recent call last)
<ipython-input-13-a0091f87b553> in <module>()
1 pd_data.drop_duplicates(['detail_url']) # this works
----> 2 pd_data.drop_duplicates(['douban_info']) # this failed
3 # pd_data2.describe()
...
TypeError: unhashable type: 'dict'
?所以你可以尝试一下吗?
答案 0 :(得分:5)
TypeError: unhashable type: 'dict'
表示您在drop_duplicates
尝试使用的列中有一个词典。
drop_duplicates
需要能够将列中的值相互比较,它通过哈希进行比较,并且您无法将dict转换为哈希值。
因为如果一条线是重复的,只能在两个值相等时确定。
你需要做的是将这个词改成可以清除的东西。也许是一个字符串。
pd_data['douban_info_string'] = pd_data['douban_info'].astype(str)
pd_data.drop_duplicates('douban_info_string')
应该工作。
不是很有效或漂亮,但应该有用。