我有一个csv文件,其中包含一个酒店及其星级评定(1星级到5星级)。
B列是每家酒店的星级评定,从第2行开始(第1行是标题“Review Stars”),每个单元格一个星级值(1-5)。
我需要为Python(v.3.6.4)编写一个脚本来计算“reviewstars”列中出现“5”的次数。因此,拥有5星级评级的公司数量。例如,如果我有2000家酒店,其中800家有5星级,我需要python返回“800”。
到目前为止,我已经写了:
import csv
from decimal import *
import math
import pandas as pd
with open('ServiceReviews.csv', 'r') as f:
data = csv.reader(f)
for row in f:
CustomerEmail = row[0]
ReviewStars = row[1]
ReferenceID = row[2]
BusinessUnitID = row[3]
Tags = row[4]
for value in ReviewStars:
df = pd.DataFrame({'5':list(ReviewStars)})
fives = df['5'].value_counts()
print (fives)
这将返回所有“5”的列表,但不返回总数。我试过其他几个熊猫电话。有什么新的见解吗?在
或者
^{pr2}$这里不需要熊猫。您可以使用标准库中的
collections.Counter
:Counter
对象c
将是一个计数字典,以星星的数量作为键,相应的计数作为值。因此,您可以使用c[5]
来提取5*家酒店的数量。在相关问题 更多 >
编程相关推荐