【发布时间】:2018-06-09 08:19:08
【问题描述】:
我正在处理大量数据,大约 5000 万行。 我想从多列中找到唯一的列值。我使用下面的脚本。
dataAll[['Frequency', 'Period', 'Date']].drop_duplicates()
但这需要很长时间,超过 40 分钟。
我找到了一些替代方案:
pd.unique(dataAll[['Frequency', 'Period', 'Date']].values.ravel('K'))
但上面的脚本会给出数组,但我需要在数据框中像第一个脚本一样给出如下
【问题讨论】:
-
您可以维护一个 Python set 元组标签
Frequency、Period和Date,遍历行并检查/更新集合的成员资格。除了元组创建之外,这应该与行数大致呈线性关系。但是,如果 pandas 没有对他们的drop_duplicates采取类似的方法,我会感到惊讶。
标签: python python-3.x pandas dataframe unique