python - 如果来自文件 excel 或 csv 的数据,如何使用停用词 sastrawi 库 python
问题描述
我不能使用文件 excel 中的数据来实现函数停用词
我试过这样
数据可以用列 hadist 显示
train['hadis'] = train['hadis'].apply(lambda x: " ".join(x.stopword.remove() for x in x.split()))
train['hadis'].head()
但错误结果
from Sastrawi.StopWordRemover.StopWordRemoverFactory import
StopWordRemoverFactory
factory = StopWordRemoverFactory()
stopword = factory.create_stop_word_remover()
kalimat = 'Dengan Menggunakan Python dan Library Sastrawi saya dapat
melakukan proses Stopword Removal'
stop = stopword.remove(kalimat)
print(stop)
结果输出是成功丢失saya
&dan
但我的问题是,如果变量值kalimat
来自具有这么多行数据的数据 Excel 怎么办?
解决方案
我假设您的 excel 文件csv
格式为kalimat.csv
,并且kalimat
是包含您要分析的句子的列。
kalimat.csv
:
no | kalimat
------------------------------------------------------
1 | saya semua perbuatan tergantung niatnya dan ba...
2 | terkadang datang kepadaku seperti suara gemeri...
3 | bacalah beliau menjawab aku tidak bisa baca na...
4 | Dengan Menggunakan Python dan Library Sastrawi...
试试这个代码:
from Sastrawi.StopWordRemover.StopWordRemoverFactory import StopWordRemoverFactory
import pandas as pd
factory = StopWordRemoverFactory()
stopword = factory.create_stop_word_remover()
df = pd.read_csv("kalimat.csv")
for i, kalimat in enumerate (df['kalimat']):
stop = stopword.remove(kalimat)
print(i,stop + '\n')
输出:
0 semua perbuatan tergantung niatnya ba...
1 terkadang datang kepadaku suara gemeri...
2 bacalah beliau menjawab aku bisa baca na...
3 Dengan Menggunakan Python Library Sastrawi...
推荐阅读
- javascript - 如何实现方法链
- php - 如果满足for循环中的if条件,如何获取相应的数组键值
- c# - Visual Studio For Mac 调试单元测试
- hadoop - ODI 在处理语句时发出错误:/usr/lib/hive/lib/hive-contrib.jar 不存在
- php - 如何在 laravel eloquent 的单个查询中从 table1 中获取所有数据并附加 table2 中的行数
- php - 在 symfony 4 中使用 PhpOffice\PhpSpreadsheet 从 excel 文件中读取数据
- firebase - TypeError:无法读取 Cloud Firestore 中未定义的属性“uid”
- maven - Selenium Maven 测试在控制台中运行,但不在 Jenkins 上
- python - 如何选择水平棒棒糖图/哑铃图的最小值和最大值?
- google-cloud-platform - 我可以将 Prometheus 导出器中的指标直接导出到 Cloud Monitoring 吗?