`Counter` 是 Python 中的一个内置库,属于 `collections` 模块。
它可以用于计算一个序列(如列表、元组等)中各个元素的计数。
Counter 对象可以方便地获取序列中出现次数最多的元素以及其出现次数。
简单来说,Counter 的作用就是统计序列中元素的频次。
目录
4. pd.DataFrame(score.values.T,index=score.columns,columns=score.index)
5.count.reset_index(inplace=True)
6.count.columns = ["元素", "频数"]
下面利用一个例子进行介绍:
总代码:
b=[1,23,5,69,69,36,69,2,36,2,1,2,3,1,2,3,5,2,9,5,9,2,3,36,23,23,23,5,6,6,6,6]
#b是列表
#b=(1,23,5,69,69,36,69,2,36,2,1,2,3,1,2,3,5,2,9,5,9,2,3,36,23,23,23,5,6,6,6,6)
#b是元组
from collections import Counter
score_count=dict(Counter(b))
import pandas as pd
score=pd.DataFrame([score_count])
count=pd.DataFrame(score.values.T,index=score.columns,columns=score.index)
count.reset_index(inplace=True)
count.columns = ["元素", "频数"]
1.导入数据
b=[1,23,5,69,69,36,69,2,36,2,1,2,3,1,2,3,5,2,9,5,9,2,3,36,23,23,23,5,6,6,6,6]
#b是列表
b=(1,23,5,69,69,36,69,2,36,2,1,2,3,1,2,3,5,2,9,5,9,2,3,36,23,23,23,5,6,6,6,6)
#b是元组
上面两句代码均是定义的此次讲解需要的数据,第一个语句将b定义为了列表,第二个语句将b定义为了元组类型。随机选一个即可。
因为Counter可以用于计算列表、元组等各个元素的计数。
2.dict(Counter(b))
score_count=dict(Counter(b))
score_count#输出查看
使用Counter方法统计列表b中元素的出现次数,并将结果存储在字典score_count中
结果:
3.pd.DataFrame([score_count])
score=pd.DataFrame([score_count])
score#输出查看
将score_count字典转换为DataFrame格式
结果:
4. pd.DataFrame(score.values.T,index=score.columns,columns=score.index)
count=pd.DataFrame(score.values.T,index=score.columns,columns=score.index)
count#输出查看
计算一个使用`score.values`的转置(transpose)创建一个新的DataFrame。转置操作会将行和列互换。
`score.values`返回一个NumPy数组,表示`score` DataFrame的值。
`index=score.columns`:为新创建的DataFrame设置索引,使用`score` 的列名作为索引。
`columns=score.index`:为新创建的DataFrame设置列名,使用`score` DataFrame的行名作为列名。
总之,这段代码将`score` 进行转置,并使用原始DataFrame的行名作为新DataFrame的列名,原始DataFrame的列名作为新DataFrame的索引。
结果:
5.count.reset_index(inplace=True)
count.reset_index(inplace=True)
count#输出查看
使用`reset_index()`函数重置索引。这将把原来的索引移除,并基于默认的整数索引重新创建一个新的索引。
通过设置`inplace=True`,这个操作会在原地(内部)执行,不会创建一个新的DataFrame。而是直接修改原有的`count` DataFrame。
这句话通常用于在对数据进行分组和计数操作后,重新设置索引以便后续处理。
结果:
6.count.columns = ["元素", "频数"]
count.columns = ["元素", "频数"]
count#输出查看
设置列名
结果: