当拿到资料之後,我通常的第一步一定是先看一下这笔资料大致长什麽样子
这个时候有了能统计每个类别出现了几次的部分就会很有用
而具体要针对一个或多个栏位的统计则是根据需求会有不同的应用情况
Counter是在colletions里面的一个函数,可以用来计算任何可迭代容器(list, string)内的元素个数
from collections import Counter
A = ["Alice", "Bob", "Bob", "Bob", "Carol"]
Counter(A)
输出:
Counter({'Alice': 1, 'Bob': 3, 'Carol': 1})
from collections import Counter
A = ["Alice", "Bob", "Bob", "Bob", "Carol"]
count_A = Counter(A)
print("Bob:", count_A["Bob"])
print("Amy:", count_A["Amy"]) # 不存在的key会回传0而非跳error
输出:
Bob: 3
Amy: 0
B = "Aaaaaa~"
Counter(B)
输出:
Counter({'A': 1, 'a': 5, '~': 1})
这边以UCI cars资料集为例
import pandas as pd
df = pd.read_csv("car.csv")
count_class = Counter(df["class"])
count_class
输出:
Counter({'unacc': 1210, 'acc': 384, 'vgood': 65, 'good': 69})
from_dict()
的方法产生df2 = pd.DataFrame.from_dict(count_class,orient='index',columns=["Count"])
df2
输出:
df2 = pd.DataFrame({"class":count_class.keys(),
"count": count_class.values()})
df2
输出:
在需要统计多个栏位的时候,我们就不能用Counter了
这边就介绍另一种方法,先利用DataFrame的groupby
的方式把所需的栏位给组合起来再计数就可以得到多栏位的统计结果了
df.groupby(["class", "safety"]).size().reset_index(name="次数")
输出:
其实这个也可以用在单一栏位,只是我习惯上用Counter写起来呼叫一个东西而已比较直观
<<: 卡夫卡的藏书阁【Book14】- KafkaJS 生产者 - 压缩 2
>>: Day 23: 不同的环境,不同的Driver,利用Driver 驾驭SQLDelight
tags: 铁人赛 AWS Cloud 概述 碎念时间 今天来玩玩 AWS (Amazon Web ...
前言 刚好读到layout的部分,来做之前都没试过的APP色系转换。 正文 这次利用spinner来...
上一篇提到下了 tsc --init 指令之後会创建出一个 tsconfig.json 的档案,这个...
永丰金流收款 API 在目前我们从文件看到的,支援信用卡付款及虚拟帐号 ATM 付款。本次铁人赛在也...
天亮了 昨晚是平安夜 关於迷雾森林故事 小狼现身请睁眼 待洛神解释完了迷雾森林的由来 知悉了 ani...