【发布时间】:2014-04-11 14:16:21
【问题描述】:
我有一个包含几列的巨大 csv 数据集。其中一列是“Id”。我只想从 CSV 中读取 id 的唯一值。在 pandas 中可以这样做吗?
我只想要唯一的 ID,但我不想将整个数据集加载到内存中
【问题讨论】:
我有一个包含几列的巨大 csv 数据集。其中一列是“Id”。我只想从 CSV 中读取 id 的唯一值。在 pandas 中可以这样做吗?
我只想要唯一的 ID,但我不想将整个数据集加载到内存中
【问题讨论】:
您需要在某个时间点将文件的所有内容放入内存中,这是没有办法的。 (您的计算机如何知道您的 ID 在磁盘上的位置,而无需先加载它们?)
您可以按顺序执行此操作,因此不会杀死您的 RAM:
unique_ids = set()
csv_iter = pd.read_csv('yourfile.csv', iterator=True, chunksize=10000)
for chunk in csv_iter:
unique_ids.update(chunk['id'])
【讨论】: