python - 从python中的句子中提取单词
问题描述
我有一个文本/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
如果有人可以朝正确的方向轻推,那将非常有帮助。
解决方案
这段代码应该可以工作或至少让你解决它 这是完整的代码
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)
推荐阅读
- database - VARBINARY 是在 Snowflake 中加入的好数据类型吗?
- ios - 呈现 UISearchController 后如何下移 UITableView?
- android - Android:如何以编程方式检查您的智能手机是否有单声道或立体声输出(1 或 2 个扬声器)
- node.js - Sequelize Pool to Postgres DB 同时在多个请求上失败
- postgresql - 在 Postgresql 中将相同的实体映射到不同的模式
- javascript - 如何在不使用异步等待的情况下使用 javascript 正确调用两个 REST API?
- html - 显示表格:标题单元格宽度不等于正文单元格宽度
- python - 提交空字段提示KeyError而不是ValidationError
- firebase - Firebase OAuth 自定义重定向 URL 不起作用
- python - 返回带有 jinja2 的字典列表