【发布时间】:2021-12-24 13:38:14
【问题描述】:
我有一个相当大的列表形式的数据集。基本上,这些列表列表是标记化的句子(每一行是一个句子,每个句子都被标记化)。
train_dataset - 二维数组(或列表列表)包含大约 150000 个句子/行,每个句子大约包含 12 到 15 个单词。
td - 另一个一维列表包含 55000 个唯一词。如果这些单词中的任何单词出现在 2D 数组中,我需要将它们替换为 .
我尝试了以下方法,但它们需要很长时间,即使在 Google Colab 的不同运行时环境中也是如此:
train_dataset = ['<UNK>' if train_dataset[i][j] in td else train_dataset[i][j] for i in range(0,len(train_dataset)) for j in range(0,len(train_dataset[i])) ]
train_dataset
我也尝试将列表转换为 NUMPY 数组并尝试这样做。还是没有运气。
import numpy as np
np_tr = np.array(train_dataset)
for st in td:
for i in range(0,len(np_tr)):
for j in range(0,len(np_tr[i])):
if np_tr[i][j] == st:
np_tr[i][j] = '<UNK>'
我想知道在 Python 中是否有任何有效的方法可以做到这一点。我无权访问 PySpark 或 Hadoop 来实现这一点。
提前致谢!
【问题讨论】:
标签: python list multidimensional-array