gpt4 book ai didi

python - 按对计数/数据透视表

转载 作者:太空宇宙 更新时间:2023-11-03 15:49:21 24 4
gpt4 key购买 nike

我有以下 CSV 格式的数据:

Date    Name    Color
12/11 Thomas Blue
12/31 Andy Black
12/21 Luise Red
12/41 Mark Blue
12/11 Ronda Black
12/11 Thomas Blue
12/21 Mark Green
12/11 Ronda Black
12/31 Luise Red
12/41 Luise Green

我想创建一个基于对的计数,如下所示的数据透视表。最好也作为 CSV 文件

        Blue    Black   Red Green
Thomas 2
Andy 1
Luise 2 1
Mark 1 1
Ronda 1 1

我不完全确定如何解决这个问题。也不能使用 Pandas 。 :(

最佳答案

你可以使用 defaultdict defaultdictint 用于存储颜色计数。

import csv, collections

counts = collections.defaultdict(lambda: collections.defaultdict(int))
colors = set()
with open("data.csv") as f:
reader = csv.reader(f, delimiter="\t")
next(reader) # skip first line
for date, name, color in reader:
counts[name][color] += 1
colors.add(color)

然后,打印不同颜色的计数(或写入 CSV):

colors = list(colors)
print(colors)
for name in counts:
print(name + "\t" + "\t".join(str(counts[name][color]) for color in colors))

结果(我会把微调留给你):

['Red', 'Blue', 'Green', 'Black']
Ronda 0 0 0 2
Thomas 0 2 0 0
Andy 0 0 0 1
Luise 2 0 1 0
Mark 0 1 1 0

关于python - 按对计数/数据透视表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47815559/

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