PythonPandas与lambda应用困难

2024-09-28 22:29:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在运行下面的函数,但不知何故,我努力让它考虑到长度条件(if部分)。如果函数只运行第一部分:

stringDataFrame.apply(lambda x: x.str.replace(r'[^0-9]', '') if (len(x) >= 7) else x)

不知何故它只运行x.str.replace(r'[^0-9]', '')部分,因为某种原因,我做错了什么,我被卡住了。在


Tags: lambda函数lenif条件elsereplaceapply
1条回答
网友
1楼 · 发布于 2024-09-28 22:29:26

当需要分别处理每个值时,可以使用^{},因为apply与{}(Series)一起工作。在

然后,不要使用^{},而是使用^{},这对regex来说效果更好:

print (stringDataFrame.applymap(lambda x: re.sub(r'[^0-9]', '', x) if (len(x) >= 7) else x))

样品:

^{pr2}$

相关问题 更多 >