我正在使用Python进行情感分析项目(使用自然语言处理)。我已经从twitter收集了数据并将其保存为CSV文件。该文件包含推文,主要是关于加密货币。我清理了数据,但在使用分类算法应用情绪分析之前还有一件事。这是导入库的输出
# importing Libraries
from pandas import DataFrame, read_csv
import chardet
import matplotlib.pyplot as plt; plt.rcdefaults()
from matplotlib import rc
%matplotlib inline
import pandas as pd
plt.style.use('ggplot')
import numpy as np
import re
import warnings
#Visualisation
import matplotlib.pyplot as plt
import matplotlib
import seaborn as sns
from IPython.display import display
from mpl_toolkits.basemap import Basemap
from wordcloud import WordCloud, STOPWORDS
#nltk
from nltk.stem import WordNetLemmatizer
from nltk.sentiment.vader import SentimentIntensityAnalyzer
from nltk.sentiment.util import *
from nltk import tokenize
from sklearn.feature_extraction.text import TfidfVectorizer
from nltk.stem.snowball import SnowballStemmer
matplotlib.style.use('ggplot')
pd.options.mode.chained_assignment = None
warnings.filterwarnings("ignore")
%matplotlib inline
## Reading CSV File and naming the object called crime
ltweet=pd.read_csv("C:\\Users\\name\\Documents\\python assignment\\litecoin1.csv",index_col = None, skipinitialspace = True)
print(ltweet)
我已经清理了大部分数据,因此无需为该部分添加代码。在我的专栏中,有一些推文主要包含非英语语言。我想删除所有这些(仅限非英文文本)。这是输出例如
ltweet['Tweets'][0:3]
output:
0 the has published a book on understanding العَرَبِيَّة
1 accepts litecoin gives % discount on all iphon...
2 days until litepay launches accept store and s...
3 ltc to usd price litecoin ltc cryptocurrency
有没有办法删除数据中的非英语单词?任何人都可以帮我写代码吗?顺便说一句,代码基于Pandas。
答案 0 :(得分:0)
There has been a similar question here.
您可以尝试enchant:
import enchant
d = enchant.Dict("en_US")
word = "Bonjour"
d.check(word)
这将返回" False"。
对文本中的每个单词执行此操作:
english_words = []
for word in text:
if d.check(word):
english_words.append(word)
编辑:注意以多种语言显示的字词。