Pandas DataFrame DataFrame.aggregate() 函式
Minahil Noor
2023年1月30日
2020年6月17日
-
pandas.DataFrame.aggregate()
語法 -
示例程式碼:Pandas
DataFrame.aggregate()
-
示例程式碼:
DataFrame.aggregate()
與多函式的關係 -
示例程式碼:
DataFrame.aggregate()
與指定列的聚合
pandas.DataFrame.aggregate()
函式對一個 DataFrame
的列或行進行聚合。最常用的聚合函式是 min
、max
和 sum
。這些聚合函式的結果是減小 DataFrame
的大小。
pandas.DataFrame.aggregate()
語法
DataFrame.aggregate(func,
axis,
*args,
**kwargs)
引數
func |
它是要應用的聚合函式。它可以是可呼叫函式或可呼叫函式列表,字串或字串列表,或字典 |
axis |
預設為 0。如果是 0 或'index' ,則函式應用於各個列。如果是 1 或'column' ,則函式應用於各個行 |
*args |
這是一個位置型引數 |
**kwargs |
這是一個關鍵字引數 |
返回值
該函式返回一個標量、Series
或 DataFrame
。
- 如果用
Series.aggressive()
呼叫一個函式,它返回一個scalar
。 - 如果用
DataFrame.agg()
呼叫一個函式,它返回一個Series
。 - 如果多個函式被呼叫
DataFrame.agg()
,它返回一個DataFrame
。
示例程式碼:Pandas DataFrame.aggregate()
DataFrame.agg()
是 DataFrame.aggregate()
的別名。因為簡潔,我們最好使用別名。所以我們將在示例程式碼中使用 DataFrame.agg()
。
import pandas as pd
dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 78,4: 95},
'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
'Obtained Marks': {0: 90, 1: 75, 2: 82, 3: 64, 4: 45}})
print(dataframe)
下面是 DataFrame
的示例。
Attendance Name Obtained Marks
0 60 Olivia 90
1 100 John 75
2 80 Laura 82
3 78 Ben 64
4 95 Kevin 45
我們先只用一個聚合函式來檢查 DataFrame.agg()
函式。
import pandas as pd
dataframe= pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 78,4: 95},
'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
'Obtained Marks': {0: 90, 1: 75, 2: 82,3: 64,4: 45}})
dataframe1 = dataframe.agg('sum')
print(dataframe1)
輸出:
Attendance 413
Name OliviaJohnLauraBenKevin
Obtained Marks 356
dtype: object
聚合函式 sum
被應用於各個列。
對於整數型別的列,它生成了和;對於字串型別的列,它對字串進行了連線。dtype: object
表示出了函式返回 Series
。
示例程式碼:DataFrame.aggregate()
與多函式的關係
import pandas as pd
dataframe= pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 78,4: 95},
'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
'Obtained Marks': {0: 90, 1: 75, 2: 82,3: 64,4: 45}})
dataframe1 = dataframe.agg(['sum', 'min'])
print(dataframe1)
輸出:
Attendance Name Obtained Marks
sum 413 OliviaJohnLauraBenKevin 356
min 60 Ben 45
聚合函式 sum
和 min
應用於各個列。
對於整數型別的列,min
函式生成了最小值,對於字串型別的列,它顯示了最小長度的字串。
示例程式碼:DataFrame.aggregate()
與指定列的聚合
import pandas as pd
dataframe= pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 78,4: 95},
'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
'Obtained Marks': {0: 90, 1: 75, 2: 82,3: 64,4: 45}})
dataframe1 = dataframe.agg({"Obtained Marks":'sum'})
print(dataframe1)
輸出:
Obtained Marks 356
dtype: int64
返回單列之和。dtype: int64
表明該函式返回了一個 Series
。
我們也可以在一列上應用多個函式。
import pandas as pd
dataframe= pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 78,4: 95},
'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
'Obtained Marks': {0: 90, 1: 75, 2: 82,3: 64,4: 45}})
dataframe1 = dataframe.agg({"Obtained Marks":['sum', 'max']})
print(dataframe1)
輸出:
Obtained Marks
sum 356
max 90