str.replace() 的内存高效替代方案

Memory efficient alternative to str.replace()

我有一个包含 20 万行和大约 40 列的 csv 文件。特定列包含特殊字符“|”我想用'_'替换。 但是,在执行 str.replace 然后 .append 时,我在 16GB RAM 上遇到 OOM 错误,必须有更有效的方法。

我的代码:

import os
import pandas as pd
import numpy as np

archive_loc = ('pathname')
data = pd.read_csv(os.path.join(archive_loc,'sample.csv'))

category = data['category'].values
category = category.tolist()

for string in category:
     new_string = string.replace("|", "_")
     category.append(new_string)

不要转换为列表和循环,直接在数据框中进行替换。

data['category'] = data['category'].str.replace('|', '_', regex=False)