pandas篇之pandas常用函数应用 |
您所在的位置:网站首页 › python条件函数操作dataframe › pandas篇之pandas常用函数应用 |
简述
pandas是python最为流行的科学库之一,它为我们提供了丰富的功能,借助这个宝可梦口袋,我们可以实现复杂的分组统计,链式处理等功能。这里我会用篇幅较大的内容介绍pandas常见函数的使用语法并配合例子,供读者使用。 正文 補充的知識點 axisaxis为0纵轴开始读取,axis为1表示从横轴开始读取 concat函数concat函數是一個拼接函數,可以實現pandas的dataframe或者series的拼接效果,可选参数如下 ![]() ![]() append函数可以简单实现数据拼接的效果,相比concat效果较为单一 data = dtName01.append(dtName02)![]() agg函数是常用的聚合函数,常与下面的groupby函数搭配使用,使用agg函数可以非常方便地实现对聚合后的数据进行sum,max,min,mean,std等统计 import pandas as pd data = pd.read_csv("test.csv") data = data.iloc[:,1:6] dt1 = data.groupby("MSZoning").agg({'LotArea':['sum','max','min','mean','std'],'LotFrontage':['min']}) print(dt1) data.groupby("MSZoning").agg({'LotArea':['sum','max','min']}) #重命名新的列名 dt2 = data.groupby("MSZoning").agg(房屋大小=('LotArea',max)) print(dt2)![]() 分组函数,可以实现数据分组聚合统计(本质是将dataframe按条件切分为多个小块),将数据全部统计到一个部分,支持多个聚合条件 import pandas as pd data = pd.read_csv("test.csv") data = data.iloc[:,1:6] print(data) #分组并统计,按分析MSZoning,Street两列聚合分析 dt1 = data.groupby(["MSZoning","Street"]) print(dt1)![]() pipe是pandas常用的管道函数,可以非常便捷地实现链式编程,允许传递一个函数和零或多个参数,经过函数处理后的任意类型和形式的数据。 import pandas as pd data = pd.read_csv("test.csv") data = data.iloc[:,1:6] print(data) #所有元素加n def incr(df,n): df2=df.apply(lambda x: x+n if x.name=="LotArea" else x,axis=0) return df2 def decl(df,n): df2=df.apply(lambda x: x-n if x.name=="LotArea" else x,axis=0) return df2 #加10再减10 data = data.query("LotArea>100").pipe(incr,10).pipe(decl,10) print(data.head()) assignassign函数可以实现在原数据不变的情况下,新增一或者多列 import pandas as pd data = pd.read_csv("test.csv") data = data.iloc[:,1:6] data = data.assign(sale_num = (data["LotArea"]*20-data["LotArea"]*10)) print(data)![]() pandas是一个非常丰富的科学库,这里只是简单介绍一下,如果有兴趣的话,后续可以去官网学习一下。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |