Python: удалить все строки, кроме информации между> <в кадре данных - PullRequest
0 голосов
/ 13 декабря 2018

Мне нужно стереть все содержимое ячейки, кроме информации, содержащейся между> <</p>

У меня есть кадр данных с 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), но япытался сделать несколько попыток, и я могу получить именно ту информацию, которая мне нужна.

Может кто-нибудь помочь мне?

1 Ответ

0 голосов
/ 13 декабря 2018

Вы можете использовать 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
...