pandas计数 value_counts()的使用

yipeiwu_com6年前Python基础

在pandas里面常用value_counts确认数据出现的频率。

1. Series 情况下:

pandas 的 value_counts() 函数可以对Series里面的每个值进行计数并且排序。

import pandas as pd
df = pd.DataFrame({'区域' : ['西安', '太原', '西安', '太原', '郑州', '太原'], 
         '10月份销售' : ['0.477468', '0.195046', '0.015964', '0.259654', '0.856412', '0.259644'],
         '9月份销售' : ['0.347705', '0.151220', '0.895599', '0236547', '0.569841', '0.254784']})
print(df)

统计每个区域出现多少次:

print(df['区域'].value_counts())

每个区域都被计数,并且默认从高到低排序。

如果想升序排列,设置参数 ascending = True:

print(df['区域'].value_counts(ascending=True))

如果想得出计数占比,可以加参数 normalize=True

print(df['区域'].value_counts(normalize=True))

注:空值默认剔除掉的。value_counts()返回的结果是一个Series数组,可以跟别的数组进行计算。

2. DataFrame 情况下:

import pandas as pd
df = pd.DataFrame({'区域1' : ['西安', '太原', '西安', '太原', '郑州', '太原'],
          '区域2' : ['太原', '太原', '西安', '西安', '西安', '太原']})
print(df.apply(pd.value_counts))

区域2中没有郑州,所以是NaN。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

用Python写一个无界面的2048小游戏

用Python写一个无界面的2048小游戏

以前游戏2048火的时候,正好用其他的语言编写了一个,现在学习python,正好想起来,便决定用python写一个2048,由于没学过python里面的界面编程,所以写了一个极其简单的无...

解决Pycharm运行时找不到文件的问题

解决Pycharm运行时找不到文件的问题

这是解释器设置问题,在设置里找到interpreter 找到合适的目录就可以了。因为重装了python导致pycharm找不到路径了。 另外,pycharm找不到tensorflow包的...

对Django url的几种使用方式详解

利用Django开发网站,可以设计出非常优美的url规则,如果url的匹配规则(包含正则表达式)组织得比较好,view的结构就会比较清晰,比较容易维护。 最简单的形式 <cod...

Django REST framework 如何实现内置访问频率控制

对匿名用户采用 IP 控制访问频率,对登录用户采用 用户名 控制访问频率。 from rest_framework.throttling import SimpleRateThrot...

浅析PEP572: 海象运算符

现在已经是Python 3.8的最后一个alpha版本,接着就是本月底要发布的的3.8.0 beta 1了。按规定,3.8已经不会再添加(修改)功能了,之前非常有争议的PEP 572的实...