删除带有dicts

时间:2015-07-29 12:33:41

标签: python json pandas

我从json读取数据,其中一些是重复的,所以我想删除它们,请注意有2列(douban_infoomdb_info)仍然在{ {1}}格式

example data

但是,如果我执行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' ?所以你可以尝试一下吗?

1 个答案:

答案 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')

应该工作。

不是很有效或漂亮,但应该有用。