首页 > 编程语言 >Python Pandas pivot_table 透视表 计数

Python Pandas pivot_table 透视表 计数

时间:2023-04-08 13:33:01浏览次数:53  
标签:count 函数 计数 Python jishu df pivot np table

pivot_table函数

pivot_table(
    data= 表格,
    index= 行,
    columns= 列,
    values= 值,
    aggfunc= 计数函数,
    margins= True # 汇总统计
)

aggfunc调用函数, 不带括号

不带括号时, 调用的是这个函数本身, 是一个函数对象

带括号时, 调用的是函数的执行结果


透视表中的行,列, 不能同时成为透视表的值

如果某列既是透视表的 行或列, 又是透视表中分类计数的值, 需要在透视前复制该列为新的独立列

否则会报错, Grouper for ... not 1-dimensional


margins 汇总统计中, 将各组内所有元素降维汇总到一起, 再统计

np.count_nonzero()是用于, 统计矩阵中非零元素 的个数

 

df.fillna(0) 只会填充np.nan 和None 而不会填充空字符串等其他非数值元素

计数函数

  • 'count'
  • len
  • np.count_nonzero

实验 区分这三种计数函数对缺失值的处理

'''表格准备'''
import pandas as pd
import numpy as np

行 = ['A', 'B', 'C', 'D', 'E']
值 = [1, np.nan, '', ' ', '1']
df_jishu = pd.DataFrame([行, 值], index= ['行', '值']).T

df_jishu.insert(
    loc= 1,
    column= '列',
    value= ['数值', 'np.nan', '空字符串', '空格字符串', '其他非空字符串']
)

df_jishu_1 = pd.concat([df_jishu, df_jishu]).reset_index(drop= True)
df_jishu_1

Python Pandas pivot_table 透视表 计数_空字符串

'''
实验1
区分三种计数函数对缺失值的处理
'''

df_jishu_2 = df_jishu_1.pivot_table(
    index= '行',
    columns= '列',
    values= '值',
    aggfunc= [len, 'count', np.count_nonzero],
    margins= True
)
df_jishu_2.columns.names = ['计数函数', '数据类型']
df_jishu_2

'''
笔记1
计数函数 不同于 计算函数
比如 len 不同于 加减乘除或sum

笔记1.1
在计算函数中 含有非数值类型 会报错

笔记1.2
在计算函数中 含有np.nan 会导致结果为np.nan

笔记2
margins 汇总统计中, 将各组内所有元素降维汇总到一起, 再统计

笔记3
三种计数函数的区别 见下表

'''

Python Pandas pivot_table 透视表 计数_空字符串_02

参考文献

透视表的计数方法

函数带括号与不带

聚合统计的各种方法

np.count_nonzero

https://blog.csdn.net/bin083/article/details/98122531

https://blog.csdn.net/ITLearnHall/article/details/80894365

https://www.51cto.com/article/665805.html

https://blog.csdn.net/zfhsfdhdfajhsr/article/details/109813613

标签:count,函数,计数,Python,jishu,df,pivot,np,table
From: https://blog.51cto.com/u_16055028/6177557

相关文章

  • python之json格式化与紧凑处理
    格式化在工作中json是我们常用的数据格式,因为格式化与紧凑存储所占的内存是不同的,格式化存储接近大一倍空间。所以有时候需要紧凑存储(一行存储),但是查看不太方便。场景:记事本打开json的速度最快,但是没有格式化功能。notepad++可以格式化但是需要联网安装插件,内网环境不能下载......
  • Python简易学生管理系统
    目录结构:  1、学生文件student.py#学生类classStudent(object):#存放学生信息student_info={}#学生初始化方法def__init__(self,id,name,addr,tel):self.id=idself.name=nameself.addr=addrself.......
  • 面试题百日百刷-HBase中HTable API有没有线程安全问题,在程序是单例还是多例?
    锁屏面试题百日百刷,每个工作日坚持更新面试题。请看到最后就能获取你想要的,接下来的是今日的面试题: 1.HBase内部机制是什么?Hbase是一个能适应联机业务的数据库系统物理存储:hbase的持久化数据是将数据存储在HDFS上。存储管理:一个表是划分为很多region的,这些region分布式地......
  • Python 日期和时间用法超强总结
    Python中处理日期和时间的模块Python提供了time和datetime模块,可以帮助我们轻松获取和修改日期和时间,下面让我们来逐一了解一下。time模块该模块包括使用时间执行各种操作所需的所有与时间相关的功能,它还允许我们访问多种用途所需的时钟类型。内置函数:请看下表,它描述了时......
  • Python中排序函数sorted的用法
    Python中有两个排序函数:sorted与sort其中,sorted的用法与c++中的sort是基本一样的本文只介绍sorted用法sorted返回的是一个新的迭代对象,一般默认返回一个list如:对tensor进行排序,返回了一个list我们一般建议直接对list进行排序这样得到的最终还是list如:自定义排序......
  • PYTHON 视频时间检测
    importcv2cameraCapture=cv2.VideoCapture('./1/11.mp4')success,frame=cameraCapture.read()whilesuccess:ifcv2.waitKey(1)==27:breakcv2.imshow('Testcamera',frame)success,frame=cameraCapture.read()......
  • python之装饰器
    ###################                    #######################......
  • python远程控制windows机器
    1,进入cmd,输入winrmquickconfig-q,如果出现下图报错,把电脑公网设置为专网   设置专网步骤:win+i,网络和internet,状态,属性  2,检查winrm服务监听状态;进入cmd,输入winrmewinrm/config/listener;记录端口号Port值,后面会用到     3,查看winrm配置信息(可选)通......
  • fast stable diffusion wiki(译)
    原文:https://github.com/Excalibro1/fast-stable-diffusionwik/wiki/fast-stable-diffusion-wiki确保你用的是最新的笔记本!https://colab.research.google.com/github/TheLastBen/fast-stable-diffusion/blob/main/fast-DreamBooth.ipynb开始首先,使用上面链接中的最新笔记本:......
  • CompletableFuture从入门到精通?算了,入个门就行了
    FuturevsCompletableFuture准备工作为了便于后续更好地调试和学习,我们需要定义一个工具类CommonUtils辅助我们对知识的理解。这个工具类总共四个方法readFile:读取指定路径的文件内容sleepMillis:休眠指定的毫秒数sleepSecond:休眠指定的秒数printThreadLog:打印携带线程信息......