dask df.col.unique()vs df.col.drop_duplicates()

时间:2016-03-07 06:12:21

标签: dask

在dask中有什么区别

df.col.unique()

df.col.drop_duplicates()

两者都返回包含df.col的唯一元素的系列。 索引存在差异,unique结果由1..N索引,而drop_duplicates由任意数字序列索引。

drop_duplicates返回的索引的重要性是什么?

如果索引不重要,有没有理由使用其中一个?

1 个答案:

答案 0 :(得分:4)

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_duplicates