我需要删除单元格的所有内容,除了 > <
之间包含的信息我有一个 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/