Python数据分析与展示:pandas库统计分析函数-13

简介: Python数据分析与展示:pandas库统计分析函数-13

基本的统计分析函数

适用于Series和DataFrame类型

方法

说明

.sum()

计算数据的总和,按0轴计算,下同

.count()

非NaN值的数量

.mean() .median()

计算数据的算术平均值、算术中位数

.var() .std()

计算数据的方差、标准差

.min().max()

计算数据的最小值、最大值

.describe()

针对0轴(各列)的统计汇总


适用于Series类型

方法

说明

.argmin() .argmax()

计算数据最大值、最小值所在位置的索引位置(自动索引)

.idxmin() .idxmax()

计算数据最大值、最小值所在位置的索引(自定义索引)


数据的累计统计分析

适用于Series和DataFrame类型,累计计算

方法

说明

.cumsum()

依次给出前1、2、…、n个数的和

.cumprod()

依次给出前1、2、…、n个数的积

.cummax()

依次给出前1、2、…、n个数的最大值

.cummin()

依次给出前1、2、…、n个数的最小值


适用于Series和DataFrame类型,滚动计算(窗口计算)

方法

说明

.rolling(w).sum()

依次计算相邻w个元素的和

.rolling(w).mean()

依次计算相邻w个元素的算术平均值

.rolling(w).var()

依次计算相邻w个元素的方差

.rolling(w).std()

依次计算相邻w个元素的标准差

.rolling(w).min() .max()

依次计算相邻w个元素的最小值和最大值

数据的相关性分析

两个事物,表示为X和Y,如何判断它们之间的存在相关性?


相关性

•X增大,Y增大,两个变量正相关

•X增大,Y减小,两个变量负相关

•X增大,Y无视,两个变量不相关


协方差

•协方差>0, X和Y正相关

•协方差<0, X和Y负相关

•协方差=0, X和Y独立无关


pearson相关系数

0.8‐1.0 极强相关

•0.6‐0.8 强相关

•0.4‐0.6 中等程度相关

•0.2‐0.4 弱相关

•0.0‐0.2 极弱相关或无相关

r取值范围[‐1,1]


适用于Series和DataFrame类型


方法

说明

.cov()

计算协方差矩阵

.corr()

计算相关系数矩阵, Pearson、Spearman、Kendall等系数


pandas数据特征分析小结

一组数据的摘要

方法

说明

排序

.sort_index() .sort_values()

基本统计函数

.describe()

累计统计函数

.cum*() .rolling().*()

相关性分析

.corr() .cov()


代码实例

# -*- coding: utf-8 -*-
# @File    : pandas_func.py
# @Date    : 2018-05-20
# pandas基本的统计分析函数
import pandas as pd
import numpy as np
# Series对象
s = pd.Series([9, 8, 7, 6], index=["a", "b", "c", "d"])
print(s)
"""
a    9
b    8
c    7
d    6
dtype: int64
"""
# 数据概要
print(s.describe())
"""
count    4.000000
mean     7.500000
std      1.290994
min      6.000000
25%      6.750000
50%      7.500000
75%      8.250000
max      9.000000
dtype: float64
"""
# 类型
print(type(s.describe()))
# <class 'pandas.core.series.Series'>
# 从概要中取数据
print(s.describe()["count"])
# 4.0
print(s.describe()["max"])
# 9.0
# DataFrame对象
fd = pd.DataFrame(np.arange(12).reshape(3, 4), index=["a", "b", "c"])
print(fd)
"""
   0  1   2   3
a  0  1   2   3
b  4  5   6   7
c  8  9  10  11
"""
# 概要
print(fd.describe())
"""
         0    1     2     3
count  3.0  3.0   3.0   3.0
mean   4.0  5.0   6.0   7.0
std    4.0  4.0   4.0   4.0
min    0.0  1.0   2.0   3.0
25%    2.0  3.0   4.0   5.0
50%    4.0  5.0   6.0   7.0
75%    6.0  7.0   8.0   9.0
max    8.0  9.0  10.0  11.0
"""
# 类型
print(type(fd.describe()))
# <class 'pandas.core.frame.DataFrame'>
# 取出列概要信息
print(fd.describe()[2])
"""
count     3.0
mean      6.0
std       4.0
min       2.0
25%       4.0
50%       6.0
75%       8.0
max      10.0
Name: 2, dtype: float64
"""
# 获取行
print(fd.describe().ix["count"])
"""
0    3.0
1    3.0
2    3.0
3    3.0
Name: count, dtype: float64
"""
# 数据的累计统计分析
print(fd)
"""
   0  1   2   3
a  0  1   2   3
b  4  5   6   7
c  8  9  10  11
"""
# 依次给出前1、2、…、n个数的和
print(fd.cumsum())
"""
    0   1   2   3
a   0   1   2   3
b   4   6   8  10
c  12  15  18  21
"""
# 依次给出前1、2、…、n个数的积
print(fd.cumprod())
"""
   0   1    2    3
a  0   1    2    3
b  0   5   12   21
c  0  45  120  231
"""
# 依次给出前1、2、…、n个数的最大值
print(fd.cummax())
"""
   0  1   2   3
a  0  1   2   3
b  4  5   6   7
c  8  9  10  11
"""
# 依次给出前1、2、…、n个数的最小值
print(fd.cummin())
"""
   0  1  2  3
a  0  1  2  3
b  0  1  2  3
c  0  1  2  3
"""
print(fd)
"""
   0  1   2   3
a  0  1   2   3
b  4  5   6   7
c  8  9  10  11
"""
# 相邻2个数求和
print(fd.rolling(2).sum())
"""
      0     1     2     3
a   NaN   NaN   NaN   NaN
b   4.0   6.0   8.0  10.0
c  12.0  14.0  16.0  18.0
"""
# 相邻3个数求和
print(fd.rolling(3).sum())
"""
      0     1     2     3
a   NaN   NaN   NaN   NaN
b   NaN   NaN   NaN   NaN
c  12.0  15.0  18.0  21.0
"""
# 实例,房价增幅与M2增幅的相关性
hprice = pd.Series([3.04, 22.93, 12.75, 22.6, 12.33],
                   index=["2008", "2009", "2010", "2011", "2012"])
m2 = pd.Series([8.18, 18.38, 9.13, 7.82, 6.69],
               index=["2008", "2009", "2010", "2011", "2012"])
print(hprice.corr(m2))
# 0.5239439145220387
"""
## pearson相关系数
0.8‐1.0 极强相关 
•0.6‐0.8 强相关 
•0.4‐0.6 中等程度相关 
•0.2‐0.4 弱相关 
•0.0‐0.2 极弱相关或无相关
"""
# 绘制成图
from matplotlib import pyplot as plt
plt.plot(hprice)
plt.plot(m2)
plt.savefig("price", dpi=600)
plt.show()

a16.1.png



相关文章
|
1月前
|
存储 人工智能 测试技术
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
本文介绍如何使用LangChain结合DeepSeek实现多轮对话,测开人员可借此自动生成测试用例,提升自动化测试效率。
302 125
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
|
1月前
|
监控 数据可视化 数据挖掘
Python Rich库使用指南:打造更美观的命令行应用
Rich库是Python的终端美化利器,支持彩色文本、智能表格、动态进度条和语法高亮,大幅提升命令行应用的可视化效果与用户体验。
116 0
|
3月前
|
存储 Web App开发 前端开发
Python + Requests库爬取动态Ajax分页数据
Python + Requests库爬取动态Ajax分页数据
|
15天前
|
数据可视化 关系型数据库 MySQL
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
本文详解基于Python的电影TOP250数据可视化大屏开发全流程,涵盖爬虫、数据存储、分析及可视化。使用requests+BeautifulSoup爬取数据,pandas存入MySQL,pyecharts实现柱状图、饼图、词云图、散点图等多种图表,并通过Page组件拖拽布局组合成大屏,支持多种主题切换,附完整源码与视频讲解。
102 4
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
|
24天前
|
传感器 运维 前端开发
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
本文解析异常(anomaly)与新颖性(novelty)检测的本质差异,结合distfit库演示基于概率密度拟合的单变量无监督异常检测方法,涵盖全局、上下文与集体离群值识别,助力构建高可解释性模型。
218 10
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
|
2月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
158 18
|
2月前
|
机器学习/深度学习 API 异构计算
JAX快速上手:从NumPy到GPU加速的Python高性能计算库入门教程
JAX是Google开发的高性能数值计算库,旨在解决NumPy在现代计算需求下的局限性。它不仅兼容NumPy的API,还引入了自动微分、GPU/TPU加速和即时编译(JIT)等关键功能,显著提升了计算效率。JAX适用于机器学习、科学模拟等需要大规模计算和梯度优化的场景,为Python在高性能计算领域开辟了新路径。
239 0
JAX快速上手:从NumPy到GPU加速的Python高性能计算库入门教程
|
2月前
|
数据采集 存储 Web App开发
Python爬虫库性能与选型实战指南:从需求到落地的全链路解析
本文深入解析Python爬虫库的性能与选型策略,涵盖需求分析、技术评估与实战案例,助你构建高效稳定的数据采集系统。
290 0
|
2月前
|
存储 监控 安全
Python剪贴板监控实战:clipboard-monitor库的深度解析与扩展应用
本文介绍了基于Python的剪贴板监控技术,结合clipboard-monitor库实现高效、安全的数据追踪。内容涵盖技术选型、核心功能开发、性能优化及实战应用,适用于安全审计、自动化办公等场景,助力提升数据管理效率与安全性。
129 0

热门文章

最新文章

推荐镜像

更多