python中的agg函式通常用於呼叫groupby()函式之後,對資料做一些聚合操作,包括sum,min,max以及其他一些聚合函式
如下所示:
>>
> df = pd.read_excel(r"d:/myexcel/1.xlsx"
)>>
> df
a b c
0 bob 12
451 millor 15
232 bob 34
883 bob 98
23(1)獲取按a分組後b列的最大值
>>
> df.groupby(by=
'a')
.agg(
) b
a
bob 98
millor 15
(2)獲取按a分組後b列的最大值和最小值
>>
> df.groupby(by=
'a')
.agg(
) b
maxmina
bob 98
12millor 15
15(3)獲取按a分組後b列的最大值和最小值以及c列的最大值
>>
> df.groupby(by=
'a')
.agg(
) b c
maxminmin
a
bob 98
1223
millor 15
1523
(4)預設是以函式名稱命名的,可以修改
>>
> df.groupby(by=
'a')
.agg(
b_min=pd.namedagg(column=
'b', aggfunc=
'min'),
b_max=pd.namedagg(column=
'b', aggfunc=
'max'))
b_min b_max
a
bob 12
98millor 15
15
通常在呼叫完agg函式後需要reset_index,因為pandas會預設將groupby()的列也做為index傳到結果中
>>
> df.groupby(
'a')
.b.agg(
['min'
,'max'])
minmax
a
bob 12
98millor 15
15>>
> df.groupby(
'a')
.b.agg(
['min'
,'max'])
.reset_index(
) a min
max0 bob 12
981 millor 15
15
Python Pandas中Series用法總結
本文對pandas包中的一維資料型別series特點及用法進行了總結歸納。匯入pandas包 import pandas as pd 建立series 1.1.1 通過列表list listser pd.series 10 20,30 40 print listser 1.1.2 通過字典dict ...
Python Pandas的apply函式使用示例
資料大致是這個樣子 美國人口普查資料 以每個州人口最多的 3 個縣的人口總和為這個州人口的衡量標準,哪 3 個州人口最多?在 2010 年至 2015 年間人口變化幅度最大的是哪個縣?先按州分組,再對每個州內的縣進行排序選出人口最多的 3 個縣求和,作為每個州的人口數,最後排序。對於每個縣,計算 2...
餃子大人的Python Pandas
我假設你已經有了一定的python基礎,而是在日常的使用中為不知道某個函式的功能而發愁的小夥伴。以下是我總結分享出numpy的一些函式的使用方法。希望能夠幫助到大家。如果您覺得我分享的內容對您有點幫助的話,請點贊收藏吧。肯定有錯,當然不全,但按你胃 anyway 成長的路上就是要不斷的犯錯。部落格中...