首页 > 解决方案 > Python字符串拆分为多个字符

问题描述

df = pd.DataFrame({'columnA': ['apple:50-100(+)', 'peach:75-125(-)', 'banana:100-150(+)']})

正则表达式的新手......如果我想将'apple:50-100(+)'(和上面的其他示例字符串)拆分DataFrame为如下所示,那么最好的方法是什么?

期望的输出:

在此处输入图像描述

标签: pythonregexpandas

解决方案


如果您提供有关格式的更多详细信息,我可以更新正则表达式。

import pandas as pd

df = pd.DataFrame({'columnA': ['apple:50-100(+)', 'peach:75-125(-)', 'banana:100-150(+)']})

pattern = r"(.*):(\d+)-(\d+)\(([+-])\)"

new_df = df['columnA'].str.extract(pattern)

df

             columnA
0    apple:50-100(+)
1    peach:75-125(-)
2  banana:100-150(+)

new_df

        0    1    2  3
0   apple   50  100  +
1   peach   75  125  -
2  banana  100  150  +

推荐阅读