Извлечь слова из предложения в Python - PullRequest
0 голосов
/ 01 июня 2018

У меня есть набор данных в формате текстового / CSV-файла.Это имеет 2 столбца, как это =

ID - TEXT
1 - this probability is 10-15% 
2 - approximately 20% probablity 
3 - 15% probability 

Я пытаюсь использовать NLTK для извлечения числа из данных, где присутствует ключевое слово 'Probability'.

Вот так выглядит мой код.

import pandas as pd
import nltk
from nltk import sent_tokenize, word_tokenize

data_file = pd.read_excel(r'data_excel.xlsx',sheet_name = 'data')

df = pd.DataFrame(data_file, columns = ['ID','TEXT'])
keywords = ["probability"]

id_text = nltk.Text(str(df.ID).splitlines()) 
text_value = nltk.Text(str(df.TEXT).splitlines())

Я хочу, чтобы вывод выглядел следующим образом -

ID - Value 
1 - 10
2 - 20
3 - 15

Если кто-то может подтолкнуть в правильном направлении, это будет очень полезно.

1 Ответ

0 голосов
/ 01 июня 2018

ЭТОТ КОДЕКС ДОЛЖЕН РАБОТАТЬ ИЛИ МЕНЬШЕ, ЧТО ВАМ РЕШИТЕ ​​ЕГО Вот полный код

import csv
import nltk
impor re
import pandas as pd
from nltk import sent_tokenize, word_tokenize

tweet = []

data_file = pd.read_excel(r'data_excel.xlsx',sheet_name = 'data')
df = pd.DataFrame(data_file, columns = ['ID','TEXT'])


cols = ['ID', 'Num']
newDataFrame = pd.DataFrame(columns=cols)


#this should provide you with a list of both ID and txt
ID = df.iloc[:,0].values
TEXT  = df.iloc[:,1].values


#loop throug the id and set occurence of the number of probability
for i in range(1, len(ID)):
    number_list = re.findall(r'\b\d+\b', TEXT[i])

    newDataFrame.iloc[i].ID = ID
    newDataFrame.iloc[i].Num = number_list

print(newDataFrame)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...