栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

数据分析工具Pandas的知识点整理

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据分析工具Pandas的知识点整理

一:Pandas的数据结构分析

Pandas中有两个主要的数据结构,分别是Series和Dataframe

(1).Series:一维的数据结构,它能保存任何类型的数据,主要由一组数据和相关的索引两部分组成,创建方法:{Series类对象创建方法:class pandas.Series(data=None,index=None,dtype=None,name=None,copy=False,fastpath=False);创建Series类对象:ser_obj=pd.Series([1,2,3,4,5]);创建Series类对象并指定索引:ser_obj=pd.Series([1,2,3,4,5]),index=['a','b','c','d','e'];使用dict构建:year_data={2001:17.8,2002:20.1,2003:16.5}     ser_obj2=pd.Series(year_data)};获取ser_obj的索引:ser_obj.index,获取ser_obj的数据:ser_obj.values,获取位置索引3对应的数据:ser_obj[3]

(2).Dataframe:二维的、表格型的数据结构,它没列的数据可以是不同的数据类型,创建方法:{pandas.Dataframe(data=None,index=None,columns=None,dtype=None,copy=False),通过传入数组来创建Dataframe类对象:创建数组demo_arr=np.array([['a','b','c'],['d','e','f']]),基于数组创建DataFream对象df_obj=pd.Dataframe(demo_arr),通过列索引的方法获取一列数据element=df_obj['No2'],查看返回结果的类型type(element),通过属性获取列数据element=df_obj.No2,查看返回结果的类型type(element),增加No4一列数据df_obj['No4']=['g','h'],删除No3一列数据del df_obj['No3']}

二、Pandas索引操作及高级索引

Pandas中的索引对象都是index类对象且不可进行修改,(index的子类:Int64Index,MultiIndex,DatatimeIndex)reindex():该方法的作用是对原索引和新索引进行匹配,语法格式如下:Dataframe.reindex(labels=None,index=None,columns=None,axis=None,method=None,copy=True,level=None,fill_value=nan,limit=None,tolerance=None),使用fill_value参数来指定缺失值ser_obj.reindex(['a','b','c','d','e','f'],fill_value=6),Series有关索引的用法类似于NumPy数组的索引,只不过Series的索引值不只是整数。Series切片操作(位置:ser_obj[2:4],名称:ser_obj['c':'e'])。布尔型索引同样适用于Pandas(创建布尔型Series对象:ser_bool=ser_obj>2,获取结果为True的数据:ser_obj[ser_bool]),Pandas中有两种操作索引的方法来访问数据(1.loc:基于标签索引,2.iloc:基于位置索引)

三、算术运算与数据对齐

Pandas执行算术运算时,没有对齐的位置会用NaN进行补齐,如果不想用NaN填充缺失数据,则可以在调用add方法时提供fill_value参数的值进行补充(执行加法运算,补充缺失值:obj_one.add(obj_two,fill_value=0))

四、数据排序

Pandas中按索引排序使用的是sort_index()方法,该方法可以用行索引或者列索引进行排序(sort_index(axis=0,level=None,ascending=True,inplace=Flase,kind='quicksort',na_position='last',sort_remaining=True)),Pandas中用来按值排序的方法为sort_values(),语法格式如下:sort_values(by,axis=0,ascending=True,inplace=Flase,kind='quicksort',na_position='last'),在Dataframe中,sort_values()方法可以根据一个或多喝列中的值进行排序,但是需要在排序时,将一个或多个列的索引传递给by参数才行(对列索引值为2的数据进行排序:df_obj.sort_values(by=2))

五、统计计算与描述

describe()方法可以一次性输出多个统计指标,语法格式如下:describe(percentiles=None,include=None,exclude=None)

六、层次化索引

Series和Dataframe均可实现层次化索引,最常见的方式是在构造方法的index参数中传入一个嵌套列表,嵌套函数中两个列表的长度必须是保持一致的;还可以通过MultiIndex类的方法构建一个层次化索引(将元组列表转换为MultiIndex:MultiIndex.from_tuples(),将元组列表转换为MultiIndex:MultiIndex.from_arrays(),从多个集合的笛卡尔乘积中创建一个MultiIndex:MultiIndex.from_product()),from_tuples()方法可以将包含若干个元组的列表转换为MultiIndex对象,其中元组第一个元素为外层索引,第二个为内层索引(根据元组列表创建一个MultiIndex对象:multi_index=MultiIndex.from_tuples(tuples=list_tuples,names=['外层索引','内层索引'])),from_arrays()方法是将数组列表转换为MUltiIndex对象,其中嵌套的第一个列表作为外层索引,第二个作为内层索引(multi_array=MultiIndex.from_arrays(arrays=[['A','B','A','B','B'],['A1','A2','B1','B2','B3']],names=['外层索引','内层索引'])),from_product()方法表示从多个集合的笛卡尔乘积中创建一个MultiIndex对象(number=[0,1,2]   colors=['green','purple']   multi_product=pd.MultiIndex.from_product(iterables=[numbers,colors],names=['number','color']))。在Pandas中,交换分层顺序的操作可以使用swaplevel()方法来完成(交换外层索引与内层索引位置:ser_obj.swaplevel()),要想按照分层索引对数据排列,则可以通过sort_index()方法实现(sort_index(axis=0,level=None,ascending=True,inplace=False,kind='quicksort',na_position='last',sort_remaining=True,by=None))

七、读写数据操作

to_csv()方法的功能是将数据写入到csv文件中:to_csv(path_or_buf=None,sep=',',na_rep='',float_format=None,columns=None,header=True,index=True,index_label=None,mode='w',……);read_csv()函数的作用是将csv文件的数据读取出来,转换成Dataframe对象展示read_csv(filepath_or_buffer,sep=',',delimiter=None,header=True,names=None,index_col=None,usecols=None,prefix=None,……);to_excel()方法的功能是将Dataframe对象写入到Excel工作表中to_excel(excel_writer,sheet_name='Sheet1',na_rep=",float_format=None,columns=None,header=True,index=True,……);read_excel()函数的作用是将Excel中的数据读取出来,转换成Dataframe展示pandas.read_excel(io,sheet_name=0,header=0,names=None,index_col=None,**kwds);对于网页中的表格,可以使用read_html()函数进行读取,并返回一个包含多个Dataframe对象的列表pandas.read_html(io,match='.+',flavor=None,header=None,index_col=None,skiprows=None,attrs=None);read_sql()函数既可以读取整张数据表,又可以执行SQL语句pandas.read_sql(sql,con,index_col=None,coerce_float=True,params=None,parse_datas=None,columns=None,chunksize=None);to_sql()方法的功能是将Series或Dataframe对象及数据表的形式写入到数据库中to_sql(name,con,schema=None,if_exists='fail',index=True,index_label=None,chunksize=None,dtype=None)

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/754198.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号