在 Pandas 中为数据帧的列数据添加值。

3

我有一个像这样的数据框:

>>> data = {'Section':['300/18','2‐ 350/24','400/30']}
>>> df = pd.DataFrame(data)
>>> df
     Section
0     300/18
1  2350/24
2     400/30

我想在/之前的值上添加50。因此,新的dataFrame将如下所示:

     Section
0     350/18
1  2‐ 400/24
2     450/30

我知道我们可以for循环'Section'列,然后通过'/'拆分字符串,然后将前面的值加50,然后重新格式化字符串并分配给单元格。假设可能有数十万行,我想知道是否有更有效的方法来处理它。

1个回答

6
一种方法是使用str.replace和替换lambda函数来替换新值:
repl =  lambda g: f'{int(g.group(1)) + 50}/'
df['Section'] = df['Section'].str.replace(r'(\d+)/', repl, regex=True)

     Section
0     350/18
1  2‐ 400/24
2     450/30

我试图使用\1而不是g.group(1)来实现这个。但是无法让它工作。+1 - Scott Boston

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接