pandas
的代码搜索DataFrame列中每个单元格的r"\d+X|X\d+"
。
如果它找到"X"
,则将其更改为"x"
。在
match = re.compile(r"\d+X|X\d+", flags=re.IGNORECASE)
def f(value):
f2 = lambda x: match.findall(x)[0] if len(match.findall(x)) > 0 else ""
leverage = f2(value)
if leverage[0].replace("X","x") == "x":
leverage = "".join(leverage[1:])+leverage[0].replace("X","x")
#Do other stuff here for var
return var
df["description"] = df["name"].map(lambda x:f(x))
问题:如果在"name"
列的单元格中没有找到"x"
或{
对于不包含这些字符的字符串,我如何规避这个问题?在
示例数据帧:
import pandas as pd
import re
df = pd.DataFrame(["LONG APPLE X5 C", "SHORT APPLE C"], columns=["name"])
在调用函数之前,只需先使用^{} 过滤df:
所以掩码返回:
^{pr2}$如果不想屏蔽df,只需在func中添加一个check:
相关问题 更多 >
编程相关推荐