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



相关文章
|
3月前
|
数据采集 数据可视化 数据挖掘
Python数据分析实战:Pandas处理结构化数据的核心技巧
在数据驱动时代,结构化数据是分析决策的基础。Python的Pandas库凭借其高效的数据结构和丰富的功能,成为处理结构化数据的利器。本文通过真实场景和代码示例,讲解Pandas的核心操作,包括数据加载、清洗、转换、分析与性能优化,帮助你从数据中提取有价值的洞察,提升数据处理效率。
206 3
|
5月前
|
自然语言处理 数据挖掘 数据处理
告别低效代码:用对这10个Pandas方法让数据分析效率翻倍
本文将介绍 10 个在数据处理中至关重要的 Pandas 技术模式。这些模式能够显著减少调试时间,提升代码的可维护性,并构建更加清晰的数据处理流水线。
208 3
告别低效代码:用对这10个Pandas方法让数据分析效率翻倍
|
5月前
|
数据采集 数据可视化 搜索推荐
Python数据分析全流程指南:从数据采集到可视化呈现的实战解析
在数字化转型中,数据分析成为企业决策核心,而Python凭借其强大生态和简洁语法成为首选工具。本文通过实战案例详解数据分析全流程,涵盖数据采集、清洗、探索、建模、可视化及自动化部署,帮助读者掌握从数据到业务价值的完整技能链。
642 0
|
2月前
|
数据可视化 大数据 关系型数据库
基于python大数据技术的医疗数据分析与研究
在数字化时代,医疗数据呈爆炸式增长,涵盖患者信息、检查指标、生活方式等。大数据技术助力疾病预测、资源优化与智慧医疗发展,结合Python、MySQL与B/S架构,推动医疗系统高效实现。
|
12月前
|
数据采集 数据可视化 数据挖掘
Pandas数据应用:天气数据分析
本文介绍如何使用 Pandas 进行天气数据分析。Pandas 是一个强大的 Python 数据处理库,适合处理表格型数据。文章涵盖加载天气数据、处理缺失值、转换数据类型、时间序列分析(如滚动平均和重采样)等内容,并解决常见报错如 SettingWithCopyWarning、KeyError 和 TypeError。通过这些方法,帮助用户更好地进行气候趋势预测和决策。
364 71
|
3月前
|
数据可视化 数据挖掘 大数据
基于python大数据的水文数据分析可视化系统
本研究针对水文数据分析中的整合难、分析单一和可视化不足等问题,提出构建基于Python的水文数据分析可视化系统。通过整合多源数据,结合大数据、云计算与人工智能技术,实现水文数据的高效处理、深度挖掘与直观展示,为水资源管理、防洪减灾和生态保护提供科学决策支持,具有重要的应用价值和社会意义。
|
4月前
|
存储 数据挖掘 大数据
基于python大数据的用户行为数据分析系统
本系统基于Python大数据技术,深入研究用户行为数据分析,结合Pandas、NumPy等工具提升数据处理效率,利用B/S架构与MySQL数据库实现高效存储与访问。研究涵盖技术背景、学术与商业意义、国内外研究现状及PyCharm、Python语言等关键技术,助力企业精准营销与产品优化,具有广泛的应用前景与社会价值。
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
本文将引导读者了解如何使用Python进行数据分析,从安装必要的库到执行基础的数据操作和可视化。通过本文的学习,你将能够开始自己的数据分析之旅,并掌握如何利用Python来揭示数据背后的故事。
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
【10月更文挑战第42天】本文是一篇技术性文章,旨在为初学者提供一份关于如何使用Python进行数据分析的入门指南。我们将从安装必要的工具开始,然后逐步介绍如何导入数据、处理数据、进行数据可视化以及建立预测模型。本文的目标是帮助读者理解数据分析的基本步骤和方法,并通过实际的代码示例来加深理解。
244 3
|
7月前
|
机器学习/深度学习 数据采集 数据可视化
Python数据分析,别再死磕Excel了!
Python数据分析,别再死磕Excel了!
324 2

推荐镜像

更多