dr = data[['recommend']]
drF = dr.groupby(dr.recommend).first().reset_index() # 162
dF = dr.drop_duplicates()
drF.values==dF.values
out:
array([[False],
[False],
[False],
…
[False],
[False]])
但通过我自己写的数组对比程序发现drF和dF的recommend元素是完全一样。猜测是因为它们的排序不同,导致drF.values==dF.values 这样做逐个死板对比是对不上的。要用:
drF.sort_values(by='recommend').values==dF.sort_values(by='recommend').values
out:
array([[ True],
[ True],
[ True],
…
[ True],
[ True]])
都是True,表示数组的值完全相同,证实了上面的猜想是对的。所以以后去重都可用这2种方法,但更推荐dr.drop_duplicates(),因为代码更简洁。
补充( 效果和上面一样,只是指定了要按recommend列来去重,可灵活运用):
dr.drop_duplicates(subset='recommend')