我需要删除单元格的所有内容,但>
我有一个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 - Python:在数据框中删除所有字符串,但> <之间的信息除外,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53752108/

10-12 18:20