在 dask 和有什么区别
df.col.unique()
和
df.col.drop_duplicates()
两者都返回一个包含 的独特元素的系列df.col
。索引有所不同,unique
结果由 1..Ndrop_duplicates
索引,而由任意外观的数字序列索引。
返回的索引有什么意义drop_duplicates
?
如果索引不重要,是否有任何理由使用另一个?
在 dask 和有什么区别
df.col.unique()
和
df.col.drop_duplicates()
两者都返回一个包含 的独特元素的系列df.col
。索引有所不同,unique
结果由 1..Ndrop_duplicates
索引,而由任意外观的数字序列索引。
返回的索引有什么意义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 中,我们稍微偏离并选择使用 adask.dataframe.Series
而不是 adask.array.Array
因为无法预先计算数组的长度,因此不能懒惰地行动。
在实践中几乎没有理由使用unique
overdrop_duplicates