Как заменить строковые значения в столбце данных [1], используя список строковых значений в другом столбце [2].
Данные
0 1 2 3
0 3000 20% dummy1 3000 dummy2 20% [3000, 20%] dummy1 dummy2
Я хочу заменить строковое значение в столбце 1, например, «dummy1 3000 dummy2 20%», используя список в столбце 2, т.е. «[3000, 20%]».Таким образом, 3000 и 20% заменяются на «» (пустая строка) из строки, чтобы сформировать 3-й столбец (Результат), т.е. «dummy1 dummy2»
Код
df = pd.DataFrame([['3000 20%', 'dummy1 3000 dummy2 20%']])
df[2] = df[0].str.split(' ')
def replace_string(x):
repl_string = str(x[1])
for key in x[2]:
repl_string = repl_string.replace(key, '')
return ' '.join(repl_string.split())
df[3] = df.apply(replace_string, axis=1)
В настоящее время я написал приведенный выше код, который является медленным для больших данных.Как повысить эффективность этого кода или есть ли другой способ сделать это?