如何在Pandas中使用可调用函数str.替换?

2024-09-19 20:58:04 发布

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

我有一个dataframe,对于一个特定的列,它的值将被函数替换,所以我们假设这个表如下所示:

Att1    Att2     Att3 .....
142+75
90+25
78+10

现在,我使用一个函数替换如下值:

Att1          Att2     Att3
142+75_142+76
90+25_90+26
78+10_78+11

我尝试了以下代码:

df['Att1'] = df['Att1'].str.replace(df['Att1'],func(df['Att1']))

函数运行正常,如何在结构更换()以便Att1值被传递到函数中,修改后的值返回?你知道吗


Tags: 函数代码dataframedf结构replacefuncstr
1条回答
网友
1楼 · 发布于 2024-09-19 20:58:04

实际上,您可以像下面这样在replace函数中调用。lambda函数将为您提供来自regex的组匹配。可以用函数替换print

df = pd.DataFrame([['142+75'], ['90+25'], ['78+10']], columns=['Att1'])

df.Att1.str.replace("(\d+)\+(\d+)", lambda x: print(x[1], x[2]))

## pass whole match
df.Att1.str.replace("(\d+)\+(\d+)", lambda x: print(x[0]))

相关问题 更多 >