Python

时间:2023-11-29 本站 点击:1

pandas是一种Python数据分析的利器,是一个开源的数据分析包,最初是应用于金融数据分析工具而开发出来的,因此pandas为时间序列分析提供了很好的支持。pandas是PyData项目的一部分。

官网:http://pandas.pydata.org/

官方文档:http://pandas.pydata.org/pandas-docs/stable/

引入方式

from pandas import Series, DataFrame

import pandas as pd

基本数据结构

pandas中主要有两种数据结构,分别是:Series和DataFrame。

Series:一种类似于一维数组的对象,是由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引--默认或者给定标签)组成。仅由一组数据也可产生简单的Series对象。注意:Series中的索引值是可以重复的。

DataFrame:一个表格型的数据结构,包含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型等),DataFrame即有行索引也有列索引,可以被看做是由Series组成的字典。

Series

通过一维数组创建

通过字典的方式创建

值得获取

Series值的获取主要有两种方式:

通过方括号+索引的方式读取对应索引的数据,有可能返回多条数据

通过方括号+下标值的方式读取对应下标值的数据,下标值的取值范围为:[0,len(Series.values));另外下标值也可以是负数,表示从右往左获取数据(修改索引之后也是可以使用原数字索引取)

Series获取多个值的方式类似NumPy中的ndarray的切片操作,通过方括号+下标值/索引值+冒号(:)的形式来截取series对象中的一部分数据(切片)。

运算(直接进行操作--不需要遍历)

NumPy中的数组运算,在Series中都保留了,均可以使用,并且Series进行数组运算的时候,索引与值之间的映射关系不会发生改变。

注意:其实在操作Series的时候,基本上可以把Series看成NumPy中的ndarray数组来进行操作。ndarray数组的绝大多数操作都可以应用到Series上。

缺失值处理

将新的的索引放入Series中,如果新索引中没有的会用NaN填充 pandas中的isnull和notnull两个函数可以用于在Series中检测缺失值,这两个函数的返回时一个布尔类型的Series

3 自动对齐

当多个series对象之间进行运算的时候,如果不同series之间具有不同的索引值,那么运算会自动对齐不同索引值的数据,如果某个series没有某个索引值,那么最终结果会赋值为NaN。

Series及其索引的name属性

Series对象本身以及索引都具有一个name属性,默认为空,根据需要可以进行赋值操作

DataFrame

通过二维数组创建

通过字典的方式创建

索引对象

不管是Series还是DataFrame对象,都有索引对象。

索引对象负责管理轴标签和其它元数据(eg:轴名称等等)

通过索引可以从Series、DataFrame中获取值或者对某个索引值进行重新赋值

Series或者DataFrame的自动对齐功能是通过索引实现的

数据获取

列删除 df.pop('name') 获取行或列 df.ix['name'] df.loc['name'] 取指定元素 df.loc['行',‘列’] df.loc['行']['列'] 行删除 df1=df.drop('name')

pandas基本功能

数据文件读取

通过pandas提供的read_xxx相关的函数可以读取文件中的数据,并形成DataFrame,常用的数据读取方法为:read_csv,主要可以读取文本类型的数据

数据过滤获取(切片)

通过DataFrame的相关方式可以获取对应的列或者数据形成一个新的DataFrame, 方便后续进行统计计算。

缺省值NaN处理方法

对于DataFrame/Series中的NaN一般采取的方式为删除对应的列/行或者填充一个默认值 |方法|说明| |:---:|:-| |dropna|根据标签的值中是否存在缺失数据对轴标签进行过滤(删除), 可以通过阈值的调节对缺失值的容忍度| |fillna|用指定值或者插值的方式填充缺失数据,比如: ffill或者bfill| |isnull|返回一个含有布尔值的对象,这些布尔值表示那些值是缺失值NA| |notnull|isnull的否定式|

常用的数学统计方法

sum函数 df01.sum(sxis = 0)  # 0是按列求    1 是按行求 默认为0 和其他函数一致

相关系数与协方差

相关系数(Correlation coefficient):反映两个样本/样本之间的相互关系以及之间的相关程度。在COV的基础上进行了无量纲化操作,也就是进行了标准化操作。

协方差(Covariance, COV):反映两个样本/变量之间的相互关系以及之间的相关程度。

如果有x,y;两个变量,每个时刻的“x值与其均值之差”乘以“y值与其均值之差”得到一个乘积,在对这个时刻的乘积求个并求出均值

如果协方差为正,说明x,y同向变化,协方差越大说明同向程度越高;如果协方差为负,说明x,y反向运动,协方差越小说明反向程度越高

原文;https://juejin.cn/post/7096744870332596260


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/AI/1192.html