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)
我有一个包含 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)