【问题标题】:How can I split a cell in a pandas dataframe and keep the delimiter in another column?如何拆分熊猫数据框中的单元格并将分隔符保留在另一列中?
【发布时间】:2021-07-23 18:17:41
【问题描述】:
persons
John New York
Janet New York
Mike Denver
Michelle Texas

我想分成两列:人物和城市。我试过这个:

df = pd.DataFrame({"persons": ["John New York", "Janet New York", "Mike Denver", "Michelle Texas"]})
df[["name", "city"]] = df.persons.str.split("New York", expand=True,)

它给了我这个:

          persons            name  city
0   John New York           John
1  Janet New York          Janet
2     Mike Denver     Mike Denver  None
3  Michelle Texas  Michelle Texas  None

我想要的是按城市分割并将分隔符保留在城市列中,如下所示:

          persons            name  city
0   John New York           John   New York
1  Janet New York          Janet   New York 
2     Mike Denver     Mike Denver  None
3  Michelle Texas  Michelle Texas  None

【问题讨论】:

    标签: python pandas dataframe split


    【解决方案1】:

    您可以将正则表达式与捕获组一起使用:

    df[['name', 'city']] = df['persons'].str.split(r'(New York)', expand=True).iloc[:,:2]
    
    print(df)
    
              persons            name      city
    0   John New York           John   New York
    1  Janet New York          Janet   New York
    2     Mike Denver     Mike Denver      None
    3  Michelle Texas  Michelle Texas      None
    

    阅读更多关于它的工作原理here

    【讨论】:

    • 正是我需要的,感谢您教我捕获组。
    猜你喜欢
    • 1970-01-01
    • 2016-09-16
    • 2019-08-05
    • 2021-02-02
    • 2022-01-21
    • 1970-01-01
    • 2018-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多