Pandas是python数据处理重要的一个第三方库。

import pandas as pd

一、Pandas库入门

1.Pandas库数据类型

两个数据类型:SeriesDataFrame
基于上述数据类型的各类操作
基本操作、运算操作、特征类操作、关联类操作

Pandas库和Numpy库的区别:

Numpy Pandas
基础数据类型 扩展数据类型
关注数据的结构表达 关注数据的应用表达
维度:数据间的关系 维度:数据和索引间的关系
1.1Pandas的Series类型

Series类型由一组数据及与之相关的数据索引组成。
(1)Series类型的创建

列表创建,index与列表元素个数一致:

自动索引:

自定义索引:


从标量值创建,index表达Series类型的尺寸:


从字典类型创建,键值对中的“键”是索引,index从字典中进行选择操作


从ndarry类型创建,索引和数据都可以通过ndarry类型创建


其他函数创建,range()函数等。

(2)Series类型的基本操作

Series类型包括index和values两部分。



Series类型的操作类似ndarry类型。

  1. 索引方法相同,采用[]
  2. Numpy中运算和操作可用于Series类型。
  3. 可以通过自定义索引的列表进行切片。
  4. 可以通过自动索引进行切片,如果存在自定义索引,则一同被切片。


Series类型的操作类似Python字典类型。

  1. 通过自定义索引访问
  2. 保留字in操作
  3. 使用.get()方法


Series类型对齐问题:

Series+Series


Series类型在运算中会自动对齐不同索引的数据

Series类型的name属性

Series对象和索引都可以有一个名字,存储在属性.name中

Series类型的修改

Series对象可以随时修改并立即生效


Series是一维带“标签”数组

index_0 ->data_a

Series基本操作类似ndarry和字典,根据索引对齐。

1.2Pandas的DataFrame类型

DataFrame类型由共用相同索引的一组列组成。



DataFrame是一个表格型的数据类型,每列值类型可以不同。

DataFrame既有行索引、也有列索引。

DataFrame常用于表达二维数据,也可以表达多维数据。

(1)DataFrame类型的创建

二维ndarray对象:

由一维ndarray、列表、字典、元组或Series构成的字典

从一维ndarray对象字典创建


从列表类型的字典创建


DataFrame是二维带“标签”数组

DataFrame基本操作类似Series,依据行列索引。

2.Pandas库的数据类型操作

如何改变Series和DataFrame对象?

(1)增加或重排:重新索引

reindex()能够改变或重排Series和DataFrame索引

.reindex(index=None,columns=None,…)的参数

索引类型


Series和DataFrame的索引是Index类型

Index对象是不可修改类型

索引类型常用方法


索引类型的使用:

(2)删除:drop

.drop()能够删除Series和DataFrame指定行或列索引


3.Pandas库的数据类型运算

(1)算数运算法则

算数运算根据行列索引,补齐后运算,运算默认产生浮点数。

补齐时缺项填充NaN

二维和一维、一维和零维件为广播运算

采用+—*/符号进行的二元运算产生新的对象



注:自动补齐,缺项补NaN

(2)方法型操作



不同维度间为广播运算,一维Series默认在轴1参与运算。


使用运算方法可以令一维Series参与轴0运算


(3)比较运算法则

比较运算只能比较相同索引的元素,不进行补齐

二维和一维、一维和零维间为广播运算

采用>、<、>=、<=、==、!=等符号进行的二元运算产生布尔对象

同维度运算,尺寸一致



不同维度,广播运算,默认在1轴


总结:

  1. Series=索引+一维数据
  2. DataFrame=行列索引+二维数据
  3. 理解数据类型与索引的关系,操作索引即操作数据。
  4. 重新索引、数据删除、算数运算、比较运算。
  5. 像对待单一数据一样对待Series和DataFrame对象。

二、Pandas数据的特征分析

1.数据的排序

.sort_index()方法在指定轴上根据索引进行排序,默认升序。

.sort_index(axis=0,ascending=True)


.sort_values()方法在指定轴上根据数值进行排序,默认升序。

Series.sort_values(axis=0,ascending=True)

DataFrame.sort_values(by,axis=0,ascending=True)

by:axis轴上的某个索引或索引列表



注:NaN统一放到排序末尾

2.Pandas统计数据分析

适用于Series和DataFrame类型:


适用于Series类型:

一个方法涵盖所有:



看一下.describe()的类型:


3.Pandas累计统计分析

适用于Series和DataFrame类型:


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


4.数据的相关分析

相关性:
正相关、负相关、不相关

衡量相关性的方法:

(1)协方差:


(2)Pearson相关系数


r的取值范围[-1,1]

r的绝对值:

0.8-1.0极强相关
0.6-0.8强相关
0.4-0.6中等程度相关
0.2-0.4弱相关
0.0-0.2极弱相关或无相关

适用于Series和DataFrame类型:

实例:房价增幅与M2增幅的相关性

总结:

python-Pandas库相关推荐

  1. python pandas库读取excel/csv中指定行或列数据详解

    通过阅读表格,可以发现Pandas中提供了非常丰富的数据读写方法,下面这篇文章主要给大家介绍了关于python利用pandas库读取excel/csv中指定行或列数据的相关资料,需要的朋友可以参考下 ...

  2. python pandas库——pivot使用心得

    python pandas库--pivot使用心得 2017年12月14日 17:07:06 阅读数:364 最近在做基于python的数据分析工作,引用第三方数据分析库--pandas(versio ...

  3. Python pandas库|任凭弱水三千,我只取一瓢饮(5)

    上一篇链接: Python pandas库|任凭弱水三千,我只取一瓢饮(4)_Hann Yang的博客-CSDN博客 S~W:  Function46~56 Types['Function'][45: ...

  4. Python pandas库|任凭弱水三千,我只取一瓢饮(4)

    上一篇链接: Python pandas库|任凭弱水三千,我只取一瓢饮(3)_Hann Yang的博客-CSDN博客  R(read_系列2):  Function36~45 Types['Funct ...

  5. Python pandas库|任凭弱水三千,我只取一瓢饮(7)

    上一篇链接: Python pandas库|任凭弱水三千,我只取一瓢饮(6)_Hann Yang的博客-CSDN博客 to_系列函数:22个 (12~22) Function12 to_numpy(s ...

  6. Python pandas库|任凭弱水三千,我只取一瓢饮(6)

    上一篇链接: Python pandas库|任凭弱水三千,我只取一瓢饮(5)_Hann Yang的博客-CSDN博客 DataFrame 类方法(211个,其中包含18个子类.2个子模块) >& ...

  7. Python pandas库|任凭弱水三千,我只取一瓢饮(1)

    对Python的 pandas 库所有的内置元类.函数.子模块等全部浏览一遍,然后挑选一些重点学习一下.我安装的库版本号为1.3.5,如下: >>> import pandas as ...

  8. Python pandas库|任凭弱水三千,我只取一瓢饮(3)

    上一篇链接: Python pandas库|任凭弱水三千,我只取一瓢饮(2)_Hann Yang的博客-CSDN博客 R(read_系列1):  Function26~35 Types['Functi ...

  9. Python pandas库|任凭弱水三千,我只取一瓢饮(2)

    上一篇链接: Python pandas库|任凭弱水三千,我只取一瓢饮(2)_Hann Yang的博客-CSDN博客 I~Q:  Function10~25 Types['Function'][9:2 ...

  10. python | Pandas库导入Excel数据(xlsx格式文件)函数:read_excel()

    导入csv格式文件 python | Pandas库导入csv格式文件函数:read_excel()https://mp.csdn.net/mp_blog/creation/editor/123951 ...

最新文章

  1. 将shell脚本转为python_shell脚本将python脚本加入Linux系统服务
  2. Python-EEG工具库MNE-Python详细安装与使用
  3. Mybatis generator(复制粘贴完成)
  4. dnf超时空漩涡副本路线流程图_DNF超时空漩涡机制
  5. 软件架构之道的一次感悟
  6. 位置式PID与增量式PID区别浅析
  7. java配置opencv_在Windows中使用OpenCV Java与Eclipse
  8. 【Antlr】修改由Antlr生成的表示式?替换遍历方式?
  9. 一个简单的C#委托小例子
  10. java -jar 设置环境变量_java 配置环境变量
  11. WAP PUSH解析(2)——WSP以及WBXML编码
  12. python pdb模块_Biopython PDB模块
  13. C# EXCEL的帮助类,仅使用NPOI,不用安装Office
  14. oracle dbms_utility.get_time,dbms_utility如何使用?
  15. 【论文笔记】PlenOctrees for Real-time Rendering of Neural Radiance Fields
  16. 几本关于用户体验的书籍
  17. Ubuntu设置仅允许特定用户或特定IP通过ssh访问
  18. 解决Windows环境下PHP连接MySQL很慢的问题
  19. 有些人认识了,就是一辈子的福份
  20. 利用GWT开发高性能Ajax应用

热门文章

  1. Android fragment原因,Android总结之Fragment
  2. matlab怎么截图清晰度,matlab截图到期刊论文中如何保持清晰度的方法
  3. 1. VS2017社区版安装
  4. linux下查看设备的接口,linux 查看sdio接口有哪些设备?
  5. 布客·ApacheCN 编程/后端/大数据/人工智能学习资源 2020.6
  6. XShell 6和Xftp6
  7. SPSS入门教程——方差齐性检验的方法有哪些
  8. vue项目实战-电商后台管理系统
  9. dns解析服务器原理,简述DNS服务器原理
  10. 并查集详解(C/C++)