Pandas 熊猫中的字符串解析

Pandas 熊猫中的字符串解析,pandas,string,parsing,Pandas,String,Parsing,我正在处理一个数据帧,其中一列的值如下- 领域 可销售的\u电子邮件\u状态\u m10 电子邮件\u可用性\u状态\u m11 结束60至89日dpd m11 电子邮件\u可用性\u状态\u m1 与n=1一起使用,用于按最后一个拆分: df[['text1','text2']] = df['field'].str.rsplit('_', n=1, expand=True) print (df) field

我正在处理一个数据帧,其中一列的值如下-

领域 可销售的\u电子邮件\u状态\u m10 电子邮件\u可用性\u状态\u m11 结束60至89日dpd m11 电子邮件\u可用性\u状态\u m1 与
n=1
一起使用,用于按最后一个
拆分:

df[['text1','text2']] = df['field'].str.rsplit('_', n=1, expand=True)
print (df)
                           field                      text1 text2
0    marketable_email_status_m10    marketable_email_status   m10
1  email_availability_status_m11  email_availability_status   m11
2     ending_ar_60_to_89_dpd_m11     ending_ar_60_to_89_dpd   m11
3   email_availability_status_m1  email_availability_status    m1
请尝试以下功能

df[["text1","text2"]] = df['field'].str.extract(r'^(.*)_(.*)$')
说明:

  • 在数据帧的
    字段
    列上应用
    df.str.extract
    函数
  • 然后使用2个捕获组在DataFrame中创建2个新列,分别命名为
    text1
    text2
  • 第一个捕获组拥有所有信息,直到
    ,第二个捕获组拥有剩余信息(根据OP的要求)
  • 将创建的捕获组的值保存到名为
    text1
    text2
    的字段中
输出如下:

    field                           text1                       text2
0   marketable_email_status_m10     marketable_email_status     m10
1   email_availability_status_m11   email_availability_status   m11
2   ending_ar_60_to_89_dpd_m11      ending_ar_60_to_89_dpd      m11
3   email_availability_status_m1    email_availability_status   m1