pandas库入门之数据特征分析 北理工嵩天老师python数据分析与展示 单元8随堂笔记

本文主要是介绍pandas库入门之数据特征分析 北理工嵩天老师python数据分析与展示 单元8随堂笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

pandas库入门之数据特征分析 北理工嵩天老师python数据分析与展示 单元8随堂笔记

1. 数据的排序

1.1 对一组数据的理解

一组数据表达一个或多个含义
摘要:在数据形成过程中一些结果。即有损地提取数据特诊的过程
通过摘要我们能获得数据的:
* 基本统计(含排序)
* 分布/累计统计
* 数据特征(相关性,周期性等)
* 数据挖掘(形成知识)

1.2 Pandas库的数据排序

.sort_index()方法在指定轴上根据索引进行排序,默认升序。
.sort_index(axis=0,ascending=True) ascending指递增排序。

import pandas as pdimport numpy as npb = pd.DataFrame(np.arange(20).reshape(4,5),index=['c','a','d','b'])
b
01234
c01234
a56789
d1011121314
b1516171819
c=b.sort_index()  #默认在0轴进行操作
c
01234
a56789
b1516171819
c01234
d1011121314
c=c.sort_index(axis=1 ,ascending=False)
c
43210
a98765
b1918171615
c43210
d1413121110

**.sort_values()方法在指定轴上根据数值进行排序,默认升序。
Series.sort_values(axis=0,ascending=True)
DataFrame.Sort_values(by,axis=0,ascending=True)
by: axis轴上的某个索引或索引列表

c = b.sort_values(2,ascending=False) #按第二列数据降序排列
c
01234
b1516171819
d1011121314
a56789
c01234
c = c.sort_values('a',axis=1,ascending=False)
c
43210
b1918171615
d1413121110
a98765
c43210

NaN统一放到排序的末尾

数据的基本统计分析

基本的统计分析函数,适用于Series和DataFrame类型

在这里插入图片描述在这里插入图片描述

适用于Series类型

在这里插入图片描述

import pandas as pda = pd.Series([9,8,7,6],index=['a','b','c','d'])
a
a    9
b    8
c    7
d    6
dtype: int64
a.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
type(a.describe())
pandas.core.series.Series
a.describe()['count']
4.0
a.describe()['max']
9.0
b = pd.DataFrame(np.arange(20).reshape(4,5),index=['c','a','d','b'])
b.describe()
01234
count4.0000004.0000004.0000004.0000004.000000
mean7.5000008.5000009.50000010.50000011.500000
std6.4549726.4549726.4549726.4549726.454972
min0.0000001.0000002.0000003.0000004.000000
25%3.7500004.7500005.7500006.7500007.750000
50%7.5000008.5000009.50000010.50000011.500000
75%11.25000012.25000013.25000014.25000015.250000
max15.00000016.00000017.00000018.00000019.000000
type(b.describe())
pandas.core.frame.DataFrame
b.describe().ix['max']  #  以Series对象返回
D:\PYTHON\anaconda\lib\site-packages\ipykernel_launcher.py:1: DeprecationWarning: 
.ix is deprecated. Please use
.loc for label based indexing or
.iloc for positional indexingSee the documentation here:
http://pandas.pydata.org/pandas-docs/stable/indexing.html#ix-indexer-is-deprecated"""Entry point for launching an IPython kernel.0    15.0
1    16.0
2    17.0
3    18.0
4    19.0
Name: max, dtype: float64

数据的累计统计分析

适用于Series 和 DataFrame类型

在这里插入图片描述

b = pd.DataFrame(np.arange(20).reshape(4,5),index=['c','a','d','b'])
b
01234
c01234
a56789
d1011121314
b1516171819
b.cumsum()  #以列为单位,计算每个元素前面的累加和
01234
c01234
a5791113
d1518212427
b3034384246
b.cumprod()  #乘积
01234
c01234
a06142436
d066168312504
b01056285656169576
b.cummin()
01234
c01234
a01234
d01234
b01234
b.cummax()
01234
c01234
a56789
d1011121314
b1516171819

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

依次计算w相邻的元素的统计值
在这里插入图片描述

b
01234
c01234
a56789
d1011121314
b1516171819
b.rolling(2).sum()# 在纵向上以两个元素为单位,做相关的求和运算。
01234
cNaNNaNNaNNaNNaN
a5.07.09.011.013.0
d15.017.019.021.023.0
b25.027.029.031.033.0
b.rolling(3).sum()
01234
cNaNNaNNaNNaNNaN
aNaNNaNNaNNaNNaN
d15.018.021.024.027.0
b30.033.036.039.042.0

数据的相关分析

相关分析: 两个事物,表示为X,Y,如何判断他们之间存在相关性?

相关性

X增大,Y增大,两个变量正相关。
X增大,Y减小,两个变量负相关。
X增大,Y无视,两个变量不相关。

如何度量俩个变量的相关性?

协方差方法:

在这里插入图片描述
协方差>0,X和Y正相关。
协方差<0,X和Y负相关。
协方差=0,X和Y独立无关。

Peason相关系数

在这里插入图片描述
r的取值范围[-1,1].
|r|:
0.8-1.0 极强相关
0.6-0.8 强相关
0.4-0.6 中等程度相关
0.2-0.4 弱相关
0-0.2 极弱相关或不相关

相关分析函数

在这里插入图片描述

hprice = pd.Series([3.84,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'])hprice.corr(m2)
0.5323702649465167

这篇关于pandas库入门之数据特征分析 北理工嵩天老师python数据分析与展示 单元8随堂笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/749762

相关文章

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

Python正则表达式匹配和替换的操作指南

《Python正则表达式匹配和替换的操作指南》正则表达式是处理文本的强大工具,Python通过re模块提供了完整的正则表达式功能,本文将通过代码示例详细介绍Python中的正则匹配和替换操作,需要的朋... 目录基础语法导入re模块基本元字符常用匹配方法1. re.match() - 从字符串开头匹配2.

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下