[英]TypeError: argument of type 'WordListCorpusReader' is not iterable
我創建了以下方法
import numpy as np
import re
from nltk.corpus import stopwords
def clean_tweet(tweet):
if type(tweet) == np.float:
return ""
temp = tweet.lower()
temp = re.sub("'", "", temp) # to avoid removing contractions in english
temp = re.sub("@[A-Za-z0-9_]+","", temp)
temp = re.sub("#[A-Za-z0-9_]+","", temp)
temp = re.sub(r'http\S+', '', temp)
temp = re.sub('[()!?]', ' ', temp)
temp = re.sub('\[.*?\]',' ', temp)
temp = re.sub("[^a-z0-9]"," ", temp)
temp = temp.split()
temp = [w for w in temp if not w in stopwords]
temp = " ".join(word for word in temp)
return temp
我有一個 pandas dataframe 有 1000 條推文要清理
如果我試試這個:
df['cleantweet'] = df.apply(lambda row : clean_tweet(row['Tweet']), axis = 1)
我收到此錯誤:
<1 sec
TypeError: argument of type 'WordListCorpusReader' is not iterable
更新:我是如何填寫 dataframe
paginator = tweepy.Paginator(
client.search_recent_tweets, # The method you want to use
"#GunControlNow -is:retweet", # Some argument for this method
max_results=100 # How many tweets asked per request
)
import pandas as pd
tweets = []
for tweet in paginator.flatten(limit=10000): # Total number of tweets to retrieve
tweets.append(tweet.text)
df = pd.DataFrame (tweets, columns = ['Tweet'])
df
from azureml.core import Workspace, Dataset
subscription_id = 'x'
resource_group = 'x'
workspace_name = 'x'
workspace = Workspace(subscription_id, resource_group, workspace_name)
from azureml.core import Datastore, Dataset
datastore = Datastore.get(workspace, 'workspaceblobstore')
dataset = Dataset.Tabular.register_pandas_dataframe(df, datastore, "tweets", show_progress=True)
參考如下: WordListCorpusReader is not iterable
您只需要為從 nltk 語料庫導入的停用詞 object 讀取的停用詞定義一個變量:
stopwords = set(stopwords.words("english"))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.