Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 关键错误0情绪分析_Python_Pandas_Sentiment Analysis_Textblob - Fatal编程技术网

Python 关键错误0情绪分析

Python 关键错误0情绪分析,python,pandas,sentiment-analysis,textblob,Python,Pandas,Sentiment Analysis,Textblob,我试图对选定的数据集运行情绪分析,但每次都会出现以下错误:keyror:0 作为参考,这是我正在使用的代码: OC = df[df["text"].str.contains("Obamacare")] from textblob import TextBlob import re def clean_tweet(tweet): return " ".join(re.sub("(@[A-Za-z0-9]+)|([^0-9A-Za-z \t])|(\w+:\/\/\S+)", " ",

我试图对选定的数据集运行情绪分析,但每次都会出现以下错误:
keyror:0

作为参考,这是我正在使用的代码:

OC = df[df["text"].str.contains("Obamacare")]

from textblob import TextBlob
import re

def clean_tweet(tweet):
    return " ".join(re.sub("(@[A-Za-z0-9]+)|([^0-9A-Za-z \t])|(\w+:\/\/\S+)", " ", tweet).split())
def analize_sentiment(tweet):
    analysis = TextBlob(clean_tweet(tweet))
    if analysis.sentiment.polarity > 0:
        return 1
    elif analysis.sentiment.polarity == 0:
        return 0
    else:
        return -1

df["sentiment"] = np.array([ analize_sentiment(tweet) for tweet in df["text"]])
pos_tweets = [tweet for index, tweet in enumerate(OC['text']) if OC['sentiment'][index] > 0]
neu_tweets = [ tweet for index, tweet in enumerate(OC['text']) if OC['sentiment'][index] == 0]
neg_tweets = [ tweet for index, tweet in enumerate(OC['text']) if OC['sentiment'][index] < 0]
OC=df[df[“text”].str.contains(“奥巴马医改”)]
从textblob导入textblob
进口稀土
def清洁_tweet(tweet):
返回“.join(re.sub”(@[A-Za-z0-9]+)|([^0-9A-Za-z\t])|”(\w+:\/\/\S+),”,tweet.split())
def分析情绪(推特):
分析=TextBlob(干净的tweet(tweet))
如果analysis.touction.polarity>0:
返回1
elif analysis.touction.polarity==0:
返回0
其他:
返回-1
df[“情绪”]=np.array([analize_情绪(tweet)用于df[“text”]]中的tweet)
pos_tweets=[tweet for index,tweet in enumerate(OC['text']),如果OC['emotation'][index]>0]
neu_tweets=[tweet for index,tweet in enumerate(OC['text'])如果OC['emotation'][index]==0]
neg_tweets=[tweet for index,tweet in enumerate(OC['text'])如果OC['Mootation'][index]<0]

在我尝试运行
pos_tweets
neu_tweets
neg_tweets
之后,我一直得到
关键错误:0

,我不确定你列举的是什么,或者为什么这是情绪分析的一部分。我就是这样做的

def clean(tweet):
    return " ".join(re.sub("(@[A-Za-z0-9]+) | ([^0-9A-Za-z\t]) | (w+:\/\/\s+)", " ", tweet).split())

def sentiment_analysis(tweet):
    analysis = TextBlob(clean(tweet))
if analysis.sentiment.polarity > 0:
    return 1
elif analysis.sentiment.polarity == 0:
    return 0
else:
    return -1

df["sentiment"] = np.array([sentiment_analysis(tweet) for tweet in 
df["text"]])

df["OC"] = df.text.str.contains("obamacare", case = False)
df2 = df.loc[df["OC"] == True]
df2.sentiment.value_counts() 
我基本上只是对整个df运行您的列表理解,然后解析