dask df.col.unique()与df.col.drop_duplicates()的比较

dask df.col.unique()与df.col.drop_duplicates()的比较,dask,Dask,在达斯克,两者的区别是什么 df.col.unique() 及 两者都返回一个序列,其中包含df.col的唯一元素。 索引中存在差异,unique结果由1..N索引,而drop\u duplicates由任意外观的数字序列索引 drop\u duplicates返回的索引的意义是什么 如果索引不重要,是否有任何理由使用其中一个而不是另一个?Dask.dataframe两者都有,因为Pandas两者都有,而Dask.dataframe主要复制Pandas API。“独一无二”是大熊猫与Numpy

在达斯克,两者的区别是什么

df.col.unique()

两者都返回一个序列,其中包含
df.col
的唯一元素。 索引中存在差异,
unique
结果由1..N索引,而
drop\u duplicates
由任意外观的数字序列索引

drop\u duplicates
返回的索引的意义是什么


如果索引不重要,是否有任何理由使用其中一个而不是另一个?

Dask.dataframe两者都有,因为Pandas两者都有,而Dask.dataframe主要复制Pandas API。“独一无二”是大熊猫与Numpy历史的延续

In [1]: import pandas as pd

In [2]: df = pd.DataFrame({'x': [1, 2, 1], 'y': [1., 2., 3.]}, index=pd.Index(['a', 'b', 'A'], name='I'))

In [3]: df.x.drop_duplicates()
Out[3]: 
I
a    1
b    2
Name: x, dtype: int64

In [4]: df.x.unique()
Out[4]: array([1, 2])
在dask.dataframe中,我们稍微偏离,选择使用
dask.dataframe.Series
而不是
dask.array.array
,因为不能预先计算数组的长度,因此不能懒惰地操作


在实践中,几乎没有理由使用
unique
而不是
drop\u duplicates

使用
unique
的一个原因是它返回一个
numpy.ndarray
In [1]: import pandas as pd

In [2]: df = pd.DataFrame({'x': [1, 2, 1], 'y': [1., 2., 3.]}, index=pd.Index(['a', 'b', 'A'], name='I'))

In [3]: df.x.drop_duplicates()
Out[3]: 
I
a    1
b    2
Name: x, dtype: int64

In [4]: df.x.unique()
Out[4]: array([1, 2])