如何将逗号添加到数据框中的现有值中? Pandas

How can I add comma into existing value in dataframe? Pandas

我从一个网站上抓取了一个数据框,但在抓取过程中我丢失了值中的逗号,因此看起来如下所示:

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 为仅包含两个(十进制)数字的价格添加前导零。第二次调用在最后两位小数前插入一个逗号分隔符。

我们可以对您的字符串进行切片并添加逗号:

df['price'].str[:-2] + ',' + df['price'].str[-2:]
0       1,00
1        ,89
2    1235,84
Name: price, dtype: object

或者我们可以使用 str.catsep 参数:

df['price'].str[:-2].str.cat(df['price'].str[-2:], sep=',')
0       1,00
1        ,89
2    1235,84
Name: price, dtype: object