Как извлечь возраст и пол человека из необработанного текста / данных? - PullRequest
0 голосов
/ 02 мая 2020

У меня есть файл CSV со списком текстов (столбец со строками), и я хочу извлечь возраст пациентов из каждой строки, я не могу сделать с "is di git" Потому что есть также некоторые другие цифры в текстах. как я могу сделать такую ​​вещь? Спасибо

ДОПОЛНИТЕЛЬНО: я тоже хочу выделить пол - Пациента иногда называют мужчиной / женщиной, иногда мужчиной / женщиной, а иногда джентльменом / леди.

Есть ли способ напишите findall, например, если тексту 17 лет, напишите мне число, если за ним следует -year-old

re.findall("[\d].", '-year-old')

Пример строки из текста:

This 23-year-old white female presents with...

...pleasant gentleman who is 42 years old...

...The patient is a 10-1/2-year-old born with...

...A 79-year-old Filipino woman...

Patient, 37,...

Как я могу получить список возраста / пола

т.е.:

Age:

    ['23','42','79','37'...]

Gender:

    ['female','male','male','female','male'...]

Ответы [ 2 ]

0 голосов
/ 03 мая 2020
re_list = [
    '\d*\-year-old',
    '\d*\ year old'
]

matches = []
for r in re_list:
    matches += re.findall( r, 'pleasant gentleman who is 42 years old, This 23-year-old white female presents with')
print(matches)

распечатывает:

['23-year-old', '42 year old']
0 голосов
/ 02 мая 2020

Вы можете легко сделать это с помощью регулярных выражений.

import re

# returns all numbers
age = re.findall("[\d].", your_text)

# returns all words related to gender
gender = re.findall("female|gentleman|woman", your_text)

Гендерная часть, которую вы можете использовать для обработки, получает правильный ответ

gender_dict = {"male": ["gentleman", "man", "male"],
               "female": ["female", "woman", "girl"]}
gender_aux = []
for g in gender:
    if g in gender_dict['male']:
        gender_aux.append('male')
    elif g in gender_dict['female']:
        gender_aux.append('female')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...