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])