0
我想做模糊匹配,其中我从大数据框(130.000行)的列到列表(400行)的字符串进行匹配。 我写的代码是在一个小样本上测试的(匹配3000行到400行)并且工作正常。它太大复制到这里,但它大致是这样的:处理大熊猫数据帧(模糊匹配)
1)列 2的数据标准化)创建笛卡尔积列和计算Levensthein距离 3)选择在单独的得分最高的比赛和商店的large_csv_name“名单。 4)比较'large_csv_names'到'large_csv'的列表,拉出所有相交的数据并写入一个csv。
由于笛卡尔产品包含超过5000万条记录,我很快遇到了内存错误。
这就是为什么我想知道如何将大数据集分成块,然后运行我的脚本。
到目前为止,我曾尝试:
df_split = np.array_split(df, x (e.g. 50 of 500))
for i in df_split:
(step 1/4 as above)
除了:
for chunk in pd.read_csv('large_csv.csv', chunksize= x (e.g. 50 or 500))
(step 1/4 as above)
这些方法都似乎工作。我想知道如何在块中运行模糊匹配,即将大块的csv切成小块,运行代码,取一块,运行代码等。
你可能想要检查[dask](https://dask.pydata.org/en/latest/),它可以从磁盘上懒懒的加载数据帧 – Quickbeam2k1