我在pandas中有一个数据框,如下:
0 1 2
([0.8898668778942382 0.89533945283595] 0)
([1.2632564814188714 1.0207660696232244] 0)
([1.006649166957976 1.1180973832359227] 0)
([0.9653632916751714 0.8625538463644129] 0)
([1.038366333873932 0.9091449796555554] 0)
所有的值都是字符串。我想删除所有特殊字符并转换为双精度浮点数。我想应用一个函数,除了点号之外删除所有特殊字符。
import re
re.sub('[^0-9.]+', '',x)
所以我希望将其应用于数据帧的所有单元格。我该怎么做?我发现了df.applymap函数,但我不知道如何将字符串作为参数传递。我尝试了
def remSp(x):
re.sub('^[0-9]+', '',x)
df.applymap(remSp())
但是我不知道如何将单元格传递给函数。有更好的方法吗?
谢谢。
remSp
时不要带上()
,参数是函数本身,而不是调用的结果。 - GPhilodf.applymap(remSp)
,请注意,在传递函数之前,你不需要调用它,.applymap
将函数作为参数。请注意,你可能需要在正则表达式模式中添加一个.
到你的组中... - juanpa.arrivillagaremSp
总是返回None
... - juanpa.arrivillaga