最近在看情感分析的项目中,为了看效果,(得出的数据结果如下:)
3.8$这款手机大小合适,配置也还可以,很好用,只是屏幕有点小。。。总之,戴妃+是一款值得购买的智能手机。 -2.0$这手机的画面挺好,操作也比较流畅。不过拍照真的太烂了!系统也不好。
代码如下:
#-*- coding:utf-8 -*-
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator
#读取结果文件
f = open("D:\\reaps\\work_documents\\Sentiment_dict1\\Sentiment_dict\\test_result4.csv","r",encoding='utf-8')
result = []
lines = f.readlines()
for i in range(len(lines)):
result.append(float(lines[i].split("$")[0]))
# print(result[0])
comments = []
countGood = 0
countGenerator = 0
countBad = 0
countBadArr = []
countGoodArr = []
countGeneratorArr = []
#根据评分分类
for i in range(len(result)):
if result[i] > 0.0:
comments.append('好评')
countGood += 1
countGoodArr.append(result[i])
elif result[i] < 0.0:
comments.append('差评')
countBad += 1
countBadArr.append(result[i])
elif result[i] == 0.0:
comments.append('中评')
countGenerator += 1
sumCount = countGenerator + countGood + countBad
goodCount = format((countGood / sumCount * 100),'.2f') #好评率
badCount = format((countBad / sumCount * 100),'.2f') #差评率
generalCount = format((countGenerator / sumCount * 100),'.2f') #中评率
#饼图效果图
plt.figure(figsize=(3,3))
x = [goodCount,generalCount,badCount]
labels = ['good', 'generator', 'bad']
explode = [0, 0, 0.1]
plt.pie(x, labels=labels,explode=explode, autopct='%1.1f%%')
plt.show()
因为此段代码学习了open打开文件的方法,遍历list的方法,找了是那种遍历list的方法,代码中使用的是
for i in range(len(lines)): result.append(float(lines[i].split("$")[0]))
效果图: