Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.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计算csv文件中出现值的次数?_Python_Python 3.x_Csv - Fatal编程技术网

如何使用Python计算csv文件中出现值的次数?

如何使用Python计算csv文件中出现值的次数?,python,python-3.x,csv,Python,Python 3.x,Csv,我有一个csv文件,其中包含一个酒店列表及其星级评定(1星级到5星级)。 B列包含每个酒店的星级评定,从第2行开始(第1行是标题“回顾星级”),每个单元格有一个星级值(1-5) 我需要为Python(v.3.6.4)编写一个脚本来计算“Review Stars”列中出现“5”的次数。因此,拥有5星级评级的公司的数量。例如,如果我有2000家酒店,其中800家有5星级评级,我需要python返回“800”。 到目前为止,我写了: import csv from decimal import

我有一个csv文件,其中包含一个酒店列表及其星级评定(1星级到5星级)。
B列包含每个酒店的星级评定,从第2行开始(第1行是标题“回顾星级”),每个单元格有一个星级值(1-5)
我需要为Python(v.3.6.4)编写一个脚本来计算“Review Stars”列中出现“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”的列表,但不是总数。我还试过其他几个熊猫电话。有人有什么新见解吗

import pandas as pd
df = pd.read_csv('ServiceReviews.csv')
df_result = df[df['ReviewStars'] == 5]
print(len(df_result))


这里不需要熊猫。您可以使用标准库中的集合。计数器:

import csv
from collections import Counter

with open('ServiceReviews.csv', 'r') as f:
    c = Counter(row[1] for row in csv.reader(f))

计数器
对象
c
将是一个计数字典,星号作为键,各自的计数作为值。因此,您可以使用
c[5]
提取5*家酒店的数量。

因此,他希望使用c[5]准确地计算出5颗星的总数?@lamorach。或者
(df['ReviewStarts']==5.sum()
import csv
from collections import Counter

with open('ServiceReviews.csv', 'r') as f:
    c = Counter(row[1] for row in csv.reader(f))