我从一个网站上抓取了一个数据框,但在抓取过程中我丢失了逗号值,因此它看起来如下所示:
name price
x 100
y 89
z 123584
现在,我必须通过在右数第二个位置的每个值中添加逗号来修改“价格”列中的值。结果应该是这样的:
name price
x 1,00
y 0,89
z 1235,84
您是否有任何想法可以实现这一目标?
最好的问候和感谢您的帮助
我们可以str.replace
在这里尝试使用:
df['price'] = df['price'].astype('str').str.replace(r'^(\d{2})$', '0\\1')
.str.replace(r'^(\d+)(\d{2})$', '\\1,\\2')
第一次调用时,str.replace
将仅由两个(十进制)数字组成的价格前导零。第二个调用在最后两个十进制数字前插入逗号分隔符。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句