在某个单词处拆分数据框列中的文本

2024-09-28 03:20:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在单词“at”处将文本拆分为一列

这是我的df:

Job       
Operation Manager at Barclays
Chief Operating Officer at Llyods

它实际上有数千个单元长,但这只是一个快照

这就是我想要的:

Job                      Location
Operating Manager        Barclays  
Chief Operating Officer  Llyods 

这就是我所尝试的:

df2 = pd.DataFrame(df.Job.str.split('at',1).tolist(), columns = ['Job','Location'])

这是我得到的(不是我想要的):

Job               Location
Oper              ating Manager at Barclays  
Chief Oper        ating Officer at Llyods 

所以它在“at”处分裂,但在第一个单词中它遇到了字符串“at”。我希望它在“at”一词处分开。有办法做到这一点吗

我尝试了以下方法,但无效:

df2 = pd.DataFrame(df.Job.str.split(' at ',1).tolist(), columns = ['Job','Location'])

我明白了:

Job                                     Location
Operating Manager at Barclays           None
Chief Operating Officer at Llyods       None 

Tags: dataframedfmanagerjoboperatinglocation单词at
2条回答

使用str.split(r"\bat\b", expand=True)

例:

import pandas as pd

df = pd.DataFrame({"Job": ["Operation Manager at Barclays", "Chief Operating Officer at Llyods"]})
df[["Job", "Location"]] = df["Job"].str.split(r"\bat\b", expand=True)
print(df)

输出:

                        Job   Location
0        Operation Manager    Barclays
1  Chief Operating Officer      Llyods

试试这个:

 df2Init = df.Job.str.split(' at ',1, expand=True).rename({0:'Job', 1:'Location'},axis=1).to_dict()
 df2 = pd.DataFrame(data=df2Init)

相关问题 更多 >

    热门问题