Python:删除数据框中除 > < 之间的信息之外的所有字符串

标签 python dataframe replace str-replace

我需要删除单元格的所有内容,除了 > <

之间包含的信息

我有一个 100 * 15 的数据框,看起来像这样:

df = pd.DataFrame(['irus 1/3 km >A001< absc ','#$ jiadhf 3 >A002<', '#AB >A003<'], columns=['AFF'])

df

    AFF
0   irus 1/3 km >A001< absc
1   #$ jiadhf 3 >A002<
2   #AB >A003<

我需要得到这样的结果:

    AFF
0   A001
1   A002
2   A003

我发现我需要使用类似于此 re.sub('[^>]+>', '', y) 的命令,但我已经尝试了几次,并且我可以准确地获得我需要的信息。

有人可以帮我吗?

最佳答案

您可以使用str.extract()带有捕获组:

In [1]: import pandas as pd

In [2]: df = pd.DataFrame(['irus 1/3 km >A001< absc ','#$ jiadhf 3 >A002<', '#AB >A003<'], columns=['AFF'])

In [3]: df['AFF'] = df['AFF'].str.extract(r">([A-Z0-9]+)<")

In [4]: print(df)
    AFF
0  A001
1  A002
2  A003

关于Python:删除数据框中除 > < 之间的信息之外的所有字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53752108/

相关文章:

java - 替换字符串中的重复子串

mysql - mySQL 中使用 REPLACE 函数索引列

python - numpy 半正定警告

python - 简单的 pygtk 和线程示例请

python - Pandas 数据透视表格式化列名称

r - 将R中不完整的数据帧组合成矩阵

replace - Notepad++ 中“查找/替换”对话框中“全部替换”按钮的键盘快捷方式?

python - 需要帮助理解 sklearn python 中的 cross_val_score

python - 访问datetime对象的时区信息

python - 从一组具有混合数字类型的范围创建 DataFrame