gpt4 book ai didi

python - Pandas:如何用另一个值替换 int 子字符串

转载 作者:行者123 更新时间:2023-12-05 09:06:55 25 4
gpt4 key购买 nike

我想将字符串中的第一个整数减 1

我有以下数据框:

No              pl.     Expected              
B2bb-hb 0.56 0.35
F378cq-h1 0.21 0.62
W30mm2-fpr2 8.17 0.76
Z51mm1-yu2 2.81 0.91

我希望输出是:

No              pl.     Expected              
B1bb-hb 0.56 0.35
F377cq-h1 0.21 0.62
W29mm2-fpr2 8.17 0.76
Z50mm1-yu2 2.81 0.91

我尝试了以下代码:

df['No'] = df['No'].str.replace('(\d+)','(\d+)-int(1)')

但我最终得到了:

No                       pl.     Expected              
B(\d+)-int(1)b-h 0.56 0.35
F(\d+)-int(1)cq-h1 0.21 0.62
W(\d+)-int(1)mm2-fpr2 8.17 0.76
Z(\d+)-int(1)mm1-yu2 2.81 0.91

请问我该如何编辑代码?

提前致谢!

最佳答案

pandas.Series.str.replacelambdan 一起使用的一种方法:

df["No"].str.replace("(\d+)", lambda x: str(int(x.group(1))-1), n=1)

输出:

0        B1bb-hb
1 F377cq-h1
2 W29mm2-fpr2
3 Z50mm1-yu2
Name: No, dtype: object

关于python - Pandas:如何用另一个值替换 int 子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65556735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com