小编mo_*_*hun的帖子

如何计算python中dict中前10个最常见的值

我是python和编程的新手,所以请善待.我正在尝试分析带有音乐信息的csv文件,并返回收听最多的前n个乐队.从下面的代码中,每首歌曲是一个列表中的dict条目,格式如下:

[{'album': 'Exile on Main Street', 'song': 'Happy', 'datetime': '3 Dec 2014 14:08', 'artist': 'The Rolling Stones'}, {'album': 'II', 'song': 'Black Dog', 'datetime': '1 Dec 2014 08:08', 'artist': 'Led Zepplin'}]

from collections import Counter

def count_artist_plays(filename):
    with open(filename, 'r') as data:
        header = data.readline().strip().split(',')

        entries = []
        for line in data:
            entry = line.strip().split(',')
            listens = {}
            for info, type in enumerate(header):
                listens[type] = entry[info]

            entries.append(listens)

    for d in entries:
        arts = d['artist']
        c = Counter(arts)
        print c.most_common(10)
Run Code Online (Sandbox Code Playgroud)

我如何得到最常见的字符串(波段)而不是我在下面得到的字符细分?

[('s', …
Run Code Online (Sandbox Code Playgroud)

python csv counter python-2.7

8
推荐指数
1
解决办法
2万
查看次数

如何计算dicts列表中特定dict键的出现次数

我正在尝试计算指定键出现在我的dicts列表中的次数.我已经使用Counter()most_common(n)计算了所有密钥,但是如何找到特定密钥的计数?我有这个代码,目前无效:

def Artist_Stats(self, artist_pick):

    entries = TopData(self.filename).data_to_dict()

    for d in entries:
        x = d['artist']
        find_artist = Counter()
        print find_artist[x][artist_pick]
Run Code Online (Sandbox Code Playgroud)

"条目"数据有大约60k条目,看起来像这样:

[{'album': 'Nikki Nack', 'song': 'Find a New Way', 'datetime': '2014-12-03 09:08:00', 'artist': 'tUnE-yArDs'},]
Run Code Online (Sandbox Code Playgroud)

python dictionary count python-2.7

2
推荐指数
1
解决办法
9980
查看次数

标签 统计

python ×2

python-2.7 ×2

count ×1

counter ×1

csv ×1

dictionary ×1