如何通过在Pandas中切片来拆分列字符串?

2024-09-20 22:52:02 发布

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

我有一个列,需要用(_)分隔符拆分

下面是一个示例文本“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"

有没有办法把它切成薄片


Tags: nametruedfonmodelsalwaysexpandmm
3条回答

你可以试试这个

df['Name'].str.split("_", 4)

这将返回这样的列表

[PPPP, OVS, ARG, MBC, MM-Models_RTNT_Always-On_IG VID - VW - #1 Engagement _ FY21 _ Febrero _ 202102 _ Falta OP]

使用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)

enter image description here

编辑以获取最后一个值。

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

这应该行得通

df['New Column'] = df['Name'].apply(lambda x: x.split('_', 4)[-1])

相关问题 更多 >

    热门问题