首页 > 解决方案 > 如何通过在熊猫中切片来拆分列字符串?

问题描述

我有我需要用(_)分隔符分割的列。

这是一个示例文本“PPPP_OVS_ARG_MBC_MM-Models_RTNT_Always-On_IG VID - VW - #1 Engagement _ FY21 _ Febrero _ 202102 _ Falta OP"

我可以使用拆分它

df['Name'].str.rsplit("_", expand=True)[0]
df['Name'].str.rsplit("_", expand=True)[1]
df['Name'].str.rsplit("_", expand=True)[2]
df['Name'].str.rsplit("_", expand=True)[3]

在此之后我不想拆分,我只需要获取整个字符串

"MM-Models_RTNT_Always-On_IG VID - VW - #1 Engagement _ FY21 _ Febrero _ 202102 _ Falta OP"

..有什么方法可以切片吗?

标签: pythonpandassplitslice

解决方案


使用str.split(series,expand=True)join

print(df)


              Name
0       PPPP_OVS_ARG_MBC_MM-Models_RTNT_Always-On...
1       PPPP_OVS_ARG_MBC_MM-Models_RTNT_Always-On...

s = df['Name'].str.split('_',expand=True)


df1 = df.join(
    s.iloc[:,:3].join(
        s.iloc[:,3:].agg('_'.join,axis=1).to_frame('string')
            )
        )

print(df1)

在此处输入图像描述

编辑以获取最后一个值。

df['last_value'] = df['Name'].str.split('_',expand=True).iloc[:,3]

推荐阅读