我正在处理一个数据框,其中一列的值是这样的 -
我希望我的最终输出将字符串分成两列,如下所示:
我已经能够生成第 3 列,但不确定如何处理第 2 列。
最佳答案
与 extract
功能请尝试以下。
df[["text1","text2"]] = df['field'].str.extract(r'^(.*)_(.*)$')
解释:
- 在 DataFrame 的
field
列上应用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
关于pandas - 在 Pandas 中解析字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67564696/