gpt4 book ai didi

python - 如果长度小于 x 则替换字符串

转载 作者:太空狗 更新时间:2023-10-30 00:01:40 25 4
gpt4 key购买 nike

我在下面有一个数据框。

a = {'Id': ['ants', 'bees', 'cows', 'snakes', 'horses'], '2nd Attempts': [10, 12, 15, 14, 0],
'3rd Attempts': [10, 10, 9, 11, 10]}
a = pd.DataFrame(a)
print (a)

我希望能够将文本 ('-s') 添加到等于 4 个字符的任何内容。我没有成功尝试以下。因为它会产生错误,ValueError: The truth value of a Series is ambiguous。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。

if a['Id'].str.len() == 3:
a['Id'] = a['Id'].str.replace('s', '-s')
else:
pass

最佳答案

我认为你需要 loc,如果需要替换最后的 s 是必要的,添加 $:

mask = a['Id'].str.len() == 4
a.loc[mask, 'Id'] = a.loc[mask, 'Id'].str.replace('s$', '-s')
print (a)
2nd Attempts 3rd Attempts Id
0 10 10 ant-s
1 12 10 bee-s
2 15 9 cow-s
3 14 11 snakes
4 0 10 horses

解决方案 mask :

mask = a['Id'].str.len() == 4
a.Id = a.Id.mask(mask, a.Id.str.replace('s$', '-s'))
print (a)
2nd Attempts 3rd Attempts Id
0 10 10 ant-s
1 12 10 bee-s
2 15 9 cow-s
3 14 11 snakes
4 0 10 horses

关于python - 如果长度小于 x 则替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42140060/

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