gpt4 book ai didi

python - 根据列表中的其他属性求和属性

转载 作者:行者123 更新时间:2023-12-01 04:04:19 25 4
gpt4 key购买 nike

基本上我有一个 csv 文件,其中的数据如下所示:

['Store A', '2015-03-04', '00948', 'Red','A','AA']
['Store C', '2015-05-06', '00948', 'Blue','A','BB']
['Store B', '2015-07-08', '101130', 'Red','B','CC']
['Store A', '2015-09-10', '111011', 'Blue','C','DD']
['Store C', '2015-10-11', '101510', 'Red','A','EE']
['Store B', '2015-11-12', '101459', 'Red','B','FF']
['Store C', '2015-15-04', '01836', 'Blue','C','GG']
['Store B', '2015-30-05', '02201', 'Blue','A','HH']
['Store A', '2015-18-06', '04022', 'Red','C','II']
['Store C', '2015-07-07', '11056', 'Blue','B','JJ']
['Store C', '2015-08-05', '10149', 'Red','D','KK']
['Store A', '2015-10-04', '113569', 'Red','A','LL']
['Store B', '2015-12-03', '005410', 'Blue','C','MM']
['Store A', '2015-15-02', '053410', 'Blue','E','NN']
['Store A', '2015-16-04', '113410', 'Red','J','OO']

我想确定每个列表中单词“Blue”出现了多少次,这样输出基本上就是给定第一个属性(Store A、B 和 C)的单词“Blue”的总和,所需的输出应该是:

['Store A','Blue','2']
['Store B','Blue','2']
['Store c','Blue','3']

我的代码如下:

csvReader = csv.reader(open('count.csv','rb'), delimiter=',', quotechar='"')
for line in csvReader:
print line.count('Blue')

显然结果是:

>>> 
0
0
0
.
.
.
.
0
0

我也尝试了代码:

csvReader = csv.reader(open('count.csv','rb'), delimiter=',', quotechar='"')
for line in csvReader:
count_blue= [[x, line.count('Blue')] for x in set(line)]
print count_blue

它也没有给我所需的输出。我的错误似乎是什么?感谢您的帮助。

最佳答案

我假设您的 CSV 文件实际上是一个 CSV 文件。逗号是分隔符,quotechar 是单引号字符 '

计算第 0 列中每个商店的(从零开始的)第 3 列出现的次数需要按第 0 列对数据进行分组。实现此目的的一种方法是使用字典。 collections.defaultdict 是一种字典,可以轻松收集具有公共(public)键的值列表。一旦你有了这些,你就可以计算“蓝色”元素、“红色”或任何你可能拥有的其他元素的数量。

import csv
from collections import defaultdict

d = defaultdict(list)
with open('count.csv') as f:
for row in csv.reader(f, quotechar="'"):
d[row[0]].append(row[3])

for k in sorted(d):
print('{},{}'.format(k, d[k].count('Blue')))

输出

Store A,2Store B,2Store C,3

关于python - 根据列表中的其他属性求和属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35934043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com