我有一个名为work3的数据集,我正试图删除基于“clean_name”列的重复行。以下是关于工作3的信息:work3.info()
输出:
^{pr2}$
当我尝试drop\u duplicates时,它会给我带来一个ValueError:
^{3}$
输出:ValueError: Wrong number of items passed 2117463, placement implies 3295520
现在,如果我尝试采样,但frac=1,获取整个数据集,然后检查信息:test = work3.sample(frac=1)
test.info()
输出:
Int64Index: 3295520 entries, 419298 to 978722
Data columns (total 4 columns):
id int64
name object
address object
clean_name object
dtypes: int64(1), object(3)
memory usage: 125.7+ MB
…内存使用量大约是原来的一半!125.7+MB而不是276.7+MB。
更重要的是,当我对它执行drop\u duplicates函数时:test.drop_duplicates(['clean_name'))
它给了我想要的东西,没有任何错误!我是不是少了点什么?在2117463 rows × 4 columns
总而言之,我的问题是:为什么内存使用量减少了一半,尽管它是完全相同的数据集?
为什么样本,test.drop\u副本(),工作时没有错误,但是原始数据集,工作3,给我一个ValueError??