pandas - 在 Pandas 中解析字符串

标签 pandas string parsing

我正在处理一个数据框,其中一列的值是这样的 -

<表类="s-表"> <头> 字段 <正文> marketable_email_status_m10 email_availability_status_m11 ending_ar_60_to_89_dpd_m11 email_availability_status_m1

我希望我的最终输出将字符串分成两列,如下所示:

<表类="s-表"> <头> 字段 text1 text2 <正文> marketable_email_status_m10 marketable_email_status m10 email_availability_status_m11 email_availability_status m11 ending_ar_60_to_89_dpd_m11 ending_ar_60_to_89_dpd m11 email_availability_status_m1 email_availability_status m1

我已经能够生成第 3 列,但不确定如何处理第 2 列。

最佳答案

extract功能请尝试以下。

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

解释:

  • 在 DataFrame 的 field 列上应用 df.str.extract 函数。
  • 然后使用 2 个捕获组在 DataFrame 中创建 2 个新列,分别命名为 text1text2
  • 第一个捕获组拥有 _ 之前的所有内容,第二个捕获组拥有剩余的值(根据 OP 的要求)。
  • 将创建的捕获组的值保存到名为 text1text2 的字段中。

输出如下:

    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

关于pandas - 在 Pandas 中解析字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67564696/

相关文章:

c# - 我如何逐字搜索(或获取)句子?

javascript - 解析问题

java - 如何使用 java-parser 和 java-symbol-solver 推断函数所有参数的类型?

python - Pandas、时间增量和除以零

python - 将数据帧拆分为多个数据帧

python - 如何向 MultiIndex 添加级别?

php - 您可以将字符串附加到 PHP 中的变量吗?

.net - .net 中的高性能文本文件解析

c++ - 货币面额

python - 将 Pandas 列添加到稀疏矩阵