熊猫是什么意思(什么函数造就了python)
admin
2023-09-13 11:25:43
0

首先需要澄清的是,excel非常强大,有可视化的数据处理,强大的功能,内置的powerquery,但是这些优势依然没有把边肖甩在后面,因为最核心的功能,excel一直没有跟上:

那是数据分析.

为什么这么说?excel在基础数据采集和处理方面有着得天独厚的优势,但是我们在采集数据的时候想要做的是对数据进行分析,而excel能够提供的功能却有些欠缺,比如:

常用的透视表只能通过求和、平均、最大、最小等方式计算。在实际分析中,这些计算方法过于基础,分组方法过于简单。

但是熊猫里面的数据分组透视功能非常强大,可以任意分组,自定义。分组后的数据可以应用更多免费的应用功能,定制化的功能将分组功能应用到了极致,一些看似复杂的分析需求变得异常简单。

分组键可以有多种形式,且类型不必相同:

与要分组的轴长度相同的列表或数组。

表示DataFrame的列名的值。

Dictionary或Series,给出要分组的轴上的值与分组名称之间的对应关系。

函数,用于处理轴索引或索引中的每个标签。

注意,后三种只是快捷方式,它们的最终目的仍然是生成一组用于拆分对象的值。

根据现有的列去分组

这也是最简单的。您可以根据一个键或传入列表支持多个键:

创建数据:

df=pd。DataFrame({'A'['a '' B '' A '' C '' A '' C '' B '' B'[2,8,1,4,3,2,5,9],' C'[102,98,107,104,115,87,92,123]})df根据一个键:

df.groupby('A ')。总和()根据两个键:

df.groupby(['A '' B'])。总和()根据字典映射去分组:

Mapping={'a'1,' b'1,' c'2} df。分组依据(映射,轴=1)。sum()映射={0:1,1:1,2:2,2。

根据列表(字典的简便写法):

但是有一个前提:您必须提供一个行或列长度相等的列表:

映射=[1,1,4] df。分组依据(映射,轴=1)。sum()字典不能相等?可以,但是没有映射的数据不在统计范围内:

mapping={0:1,1:1,2:2}df.groupby(mapping)。sum()mapping={'A'1,' B'1}df.groupby(mapping,axis=1)。总和()扩展:因为字典的映射关系,我们也可以用映射去筛选需要统计的数据去透视

根据自定义区间分组:

这里用到了cut函数,后面我会详细介绍这个函数。

DD _ 2=PD。Cut (DF ['b'],bin=2)DF。分组依据(DD _ 2)。Sum()如果我们有一些数据,这些数据包括年龄,我们可以根据这个方法区分不同的年龄段,不同的时间段,反正用的时候还是挺有用的。

根据函数去分组:

按函数分组的原则是按返回值分组,相同的返回值会被分成一组:

默认情况下,索引传递给函数:

Deff (x) :print (x)返回xdf。分组依据(f)。sum()deff(x): print(x)return x5df。分组依据(f)。sum()如果要使用另一列来应用该函数:

Deff (x) :打印(x)返回pd。切割(x,面元=3) df。group by (f (df ['c'])。sum ()

今天小编带大家一起看一下pandas的分组统计功能:groupby:

熊猫在分组后的统计计算中,有一些常用和优化的方法:

我今天要讲的是如何应用这些方法。

第一部分:分组:

Aggregateusingoneormoreoperationsoverthespecifiedaxis

在指定轴上使用一个或多个运算进行聚合。

也就是说,在指定的轴上使用。

或多个聚合函数

df.groupby("A").agg({"B":np.sum,"C":np.mean})
df.groupby("A").agg({"B":[np.sum,np.mean],"C":np.mean})
df.groupby('A')['B'].agg({'mean':np.mean,'standarddeviation':np.std})

第二个介绍:apply最重要的一个函数

df.groupby('A').apply(lambdax:x['C']-x['B'])df.groupby('A').apply(lambdax:(x['C']-x['B']).mean())

想要用好apply还要明白他的原理:

首先来看看是如何分组的,这次利用groupby的迭代器读取分组的数据:

fora,bindf.groupby('A'):print(a)print(b)

自定义函数应用时传入的就是每一个分组数据,你可以利用DataFrame的特性来筛选相应的列然后用来计算,具体能达到什么效果完全看你的想法了

注意:当你在根据键分组后具体返回什么也是靠你的自定义函数.

比如,我们分组后只返回B列的数据:

deff(x):returnx["B"]df.groupby("A").apply(f)

返回B的平方:

deff(x):returnx["B"]**2df.groupby("A").apply(f)

apply能达到的不仅仅这一点:

下面我们计算一下每个分组的B列最大值和最小值的差:

deff(x):returnmax(x["B"])-min(x["B"])df.groupby("A").apply(f)

下面我们统计每个分组的最后一行数据,这个要求在很多工具里面是很难实现的

deff(x):returnx[-1:]df.groupby("A").apply(f)

想要用好apply的核心就在于:分组后传入apply自定义函数的就是每个分组的DataFrame,返回值就是按照你的自定义函数来的。

还可以用这些常用的方法:

pandas.DataFrame.groupby

DataFrame.groupby(self,by=None,axis=0,level=None,as_index=True,sort=True,group_keys=True,squeeze=False,observed=False,**kwargs)[source]

by:mapping,function,label,orlistoflabels

用于确定groupby的组。如果by是一个函数,则调用对象索引的每个值。如果传递了dict或Series,则将使用Series或dictVALUES来确定组(系列的值首先对齐;请参阅.align()方法)。如果传递了ndarray,则使用这些值来确定组。标签或标签列表可以通过self中的列传递给组。请注意,元组被解释为(单个)键。

axis:{0or‘index’,1or‘columns’},default0

按照行或列分割

level:int,levelname,orsequenceofsuch,defaultNone

如果轴是MultiIndex(分层),则按特定级别或级别分组。

as_index:bool,defaultTrue

对于聚合输出,返回以组标签作为索引的对象。仅与DataFrame输入相关。as_index=False实际上是“SQL风格”的分组输出。

sort:bool,defaultTrue

对组键进行排序。关闭它可以获得更好的性能。请注意,这不会影响每组内观察的顺序。Groupby保留每个组中的行顺序。

group_keys:bool,defaultTrue

调用apply时,将组键添加到索引以标识片段。

squeeze:bool,defaultFalse

如果可能,减少返回类型的维度,否则返回一致类型。

observed:bool,defaultFalse

**kwargs

Optional,onlyacceptskeywordargument‘mutated’andispassedtogroupby.

相关内容

热门资讯

吃药会导致月经失调吗 吃药会导... 吃药会导致月经推迟。药物对月经周期的影响因人而异,但是一些常用的药物可以影响女性的月经周期,包括避孕...
为什么早上醒来鼻子不通 为什么... 早上醒来血压高的原因是正常人在睡眠过程中,体内肾上腺素、皮质醇等激素分泌增加,使得血管收缩、心率加快...
前列腺结石怎样治疗 前列腺结石... 前列腺结石的治疗需要综合考虑病情严重程度和患者的年龄、身体状况等因素,采取药物治疗、手术切除或物理治...
甲状腺4a结节饮食注意事项 甲状腺4a结节饮食需要注意控制碘摄入量。甲状腺结节是指甲状腺内出现的肿块,其中4a结节是指结节大小为...
乳头上有白点怎么办 乳头上有白... 乳头上的白点可能是乳腺管堵塞所致,需要及时清理和调理。乳头上的白点多数情况下是乳腺管堵塞所致,这可能...
杈撹鍙嶅簲鏈夊摢浜涘強澶勭悊... 输血反应的表现形式多种多样,包括发热、寒战、荨麻疹、呼吸急促、低血压等。处理措施包括立即停止输血、评...
血压高恶心头晕想吐是怎么回事 血压高可能导致恶心、头晕和想吐等不适症状。高血压是指在动脉压力过高的情况下,心脏需要更多的氧和能量来...
声带小结症状 声带小结症状及治... 声带小结症状声带小结是指声带黏膜内部出现的小瘤状物,通常是由于过度使用声带或者声带过度疲劳所引起的。...
鍘昏厠鑷墜鏈澶氬皯璐圭敤... 去腋臭手术费用大约在2万-4万之间。目前去腋臭的手术方式有多种,包括微创手术、离子消融术、激光手术等...
无缘无故怎么会得咽喉性疱疹 无... 无缘无故得疥疮是因为疥疮是一种感染性疾病,通常是通过直接接触染病人或者共享个人用品感染。 疥疮是一种...
如何要二胎 如何要女孩子微信 要二胎需要先了解政策,目前中国大陆允许符合条件的夫妻生育二胎。具体来说,夫妻双方必须均为独生子女,或...
双眼皮手术多少钱啊 双眼皮手术... 双眼皮手术的价格因不同地区、医院、医生以及手术方式而异,一般在4000元到1万元之间。双眼皮手术的价...
真菌性毛囊炎用什么药膏好使 真... 真菌性毛囊炎用克霉唑含漱液最好。克霉唑是一种广谱抗真菌药物,对治疗真菌性毛囊炎具有很好的效果。克霉唑...
毛周角化鸡皮肤怎么去除 毛周角化鸡皮肤的去除方法有:保持皮肤湿润、正确清洁、去角质、使用护肤品和药物等多种方法。毛周角化鸡皮...
燕窝的正确吃法做法视频 燕窝的... 燕窝的正宗做法和多种美味吃法。燕窝作为一种珍贵的食材,一直以来都备受人们的喜爱和追捧。但是,如何正确...
彩椒的营养价值和功效与作用 各... 饮食讲究均衡和丰富但架不住有些蔬菜出类拔萃这款蔬菜颜色靓丽有瓜果的香味做菜百搭还不贵居然还是维C之王...
龙年吉祥话祝福语英语 龙年吉祥... 1、2024年,龙年到来,祥瑞满堂。在这辞旧迎新的时刻,让我们共同迎接新的一年,带着希望与梦想,展翅...
夜色撩人还是人间烟火最抚人心 ... (文/亦浓)改编自须一瓜的《淡绿色的月亮》的电影 《夜色撩人》,夏刚导演、由余男与王千源主演。性感女...
富马酸酮替芬片的功效与作用副作... 富马酸酮替芬片具有止痛、退热和抗炎作用。富马酸酮替芬片是一种非甾体类抗炎药,主要成分包括富马酸和酮替...
姜可以祛斑吗 姜可以去祛斑吗 姜可以帮助祛斑。姜是一种天然的美容祛斑食材,其内含的姜辣素能够促进血液循环,提高肌肤代谢,有助于淡化...