我有一个列名称为AA_ID的熊猫数据框。列名称值在几行中都有一个特殊字符“-#”。我需要确定三件事:
例如AFB001 9183Daily-#789876A
答案将在定界符-AFB001 9183Daily
之前和定界符-789876A
答案 0 :(得分:1)
只需将apply功能与split-
df['AA_IDs'].apply(lambda x: x.split('-#'))
这应该给您一个系列,每行的列表为[AFB001 9183Daily, 789876A]
这将比使用正则表达式快得多,更不用说可读性了。
答案 1 :(得分:0)
因此,可以说数据帧称为df
,而带有文本的列为A
。
您可以使用
import re # Import regex
pattern = r'<your regex>'
df['one'] = df.A.str.extract(pattern)
这将创建一个包含所提取文本的新列。您只需要创建一个正则表达式即可从字符串中提取所需内容。我强烈建议regex101帮助您构建正则表达式。
希望这会有所帮助!