如何使用不同列[2]中的字符串值列表替换数据帧列[1]中的字符串值。你知道吗
数据
0 1 2 3
0 3000 20% dummy1 3000 dummy2 20% [3000, 20%] dummy1 dummy2
我想用列2中的列表替换列1中的字符串值,即“dummy1 3000 dummy2 20%”,即“[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)
我目前已经写了上面的代码,对于大型数据帧来说速度很慢。我该如何提高这段代码的效率,或者有没有其他方法可以做到这一点?你知道吗
使用嵌套列表理解:
相关问题 更多 >
编程相关推荐