基于分隔符(Pandas)拆分列值

2024-09-30 04:32:03 发布

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

我有一个熊猫数据框,它的列名是-AA_id。列名值在几行中有一个特殊字符“-#”。我需要确定三件事:

  1. 这些特殊字符或分隔符的位置
  2. 查找特殊字符之前的字符串
  3. 查找特殊字符后面的字符串

例如AFB001 9183每日-789876A

答案应该在分隔符-AFB001 9183Daily之前和分隔符-789876A之后


Tags: 数据字符串答案idaa分隔符特殊字符afb001
2条回答

只需将应用函数与拆分一起使用-

df['AA_IDs'].apply(lambda x: x.split('-#'))

这将为您提供一个系列,其中每行的列表为[AFB001 9183Daily, 789876A]

这将比使用正则表达式快得多,更不用说可读性了

因此,假设数据帧被称为df,包含文本的列是A。 你可以用

import re # Import regex

pattern = r'<your regex>'

df['one'] = df.A.str.extract(pattern)

这将创建一个包含提取文本的新列。您只需要创建一个正则表达式来从字符串中提取所需内容。我强烈建议regex101帮助您构建正则表达式

希望这有帮助

相关问题 更多 >

    热门问题