我需要将每个包含数值的单元格(如number 1(number 2))替换为number 2(括号内的值)。例如:56(3)-〉3,33(5)-〉5
这些值可以出现在不同的列中。
问题是Pandas的功能
df.replace(to_replace=..., value=...)
我不能使用value
,它依赖于匹配的字符串。
我试着这样说:
df.replace(to_replace='[0-9]+([0-9]+)', value=lambda x: int(x.split("(")[1].strip(")")), regex=True)
但是lambda
函数不起作用。
1条答案
按热度按时间r8uurelv1#
你试过df.apply吗?
需要注意的是,在dataFrame上使用
apply
会将整行作为输入发送到lambda函数,因此您必须执行类似以下的操作: