dask df.col.unique() 对比 df.col.drop_duplicates()
dask df.col.unique() vs df.col.drop_duplicates()
在dask中有什么区别
df.col.unique()
和
df.col.drop_duplicates()
两个 return 系列都包含 df.col
的独特元素。
索引有所不同,unique
结果由 1..N 索引,而 drop_duplicates
由任意查找的数字序列索引。
索引 return 由 drop_duplicates
编辑的意义何在?
如果索引不重要,是否有理由使用一个而不是另一个?
Dask.dataframe 两者都有,因为 Pandas 两者都有,而 dask.dataframe 主要复制 Pandas API。 Unique 是 Pandas 的 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
在dask中有什么区别
df.col.unique()
和
df.col.drop_duplicates()
两个 return 系列都包含 df.col
的独特元素。
索引有所不同,unique
结果由 1..N 索引,而 drop_duplicates
由任意查找的数字序列索引。
索引 return 由 drop_duplicates
编辑的意义何在?
如果索引不重要,是否有理由使用一个而不是另一个?
Dask.dataframe 两者都有,因为 Pandas 两者都有,而 dask.dataframe 主要复制 Pandas API。 Unique 是 Pandas 的 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