Python pandas将DataFrame单列按分隔符拆分为两个新列的最优方法
解决方案
直接使用pandas内置的str.split()方法即可一步完成需求,比手动查找分隔符位置再切片的写法更简洁高效:
# 分隔符为固定的「空格+横杠+空格」时直接用这个写法 df[['ProjectType', 'Location']] = df['Project'].str.split(' - ', n=1, expand=True)
参数说明
n=1:指定最多只拆分1次,避免Project字段内容中存在多个横杠时拆分结果不符合预期expand=True:拆分后直接返回DataFrame格式对象,可直接赋值给两个新列,不需要额外做格式转换- 如果分隔符前后的空格数量不固定,可以用正则匹配分隔符,自动过滤多余空格:
df[['ProjectType', 'Location']] = df['Project'].str.split(r'\s*-\s*', n=1, expand=True)
内容的提问来源于stack exchange,提问作者Mr Paul
相关产品推荐
相关产品推荐

