متد DataFrame.aggregate
در pandas برای اعمال یک یا چند تابع روی محورهای مشخصی از دادههای یک DataFrame استفاده میشود. این متد به شما امکان میدهد تا عملیاتهای پیچیدهای مانند محاسبه آمار توصیفی یا استفاده از توابع سفارشی را بهطور انعطافپذیر انجام دهید.
نحوه استفاده:
DataFrame.aggregate(func=None, axis=0, *args, **kwargs)
پارامترها
۱) func
: ه function
, string
, لیستی از توابع یا دیکشنری
این پارامتر تابع یا توابعی را مشخص میکند که باید روی دادهها اعمال شوند. میتوانید از توابع داخلی pandas (مانند 'sum'
, 'mean'
, 'min'
, 'max'
) یا توابع تعریف شده توسط کاربر استفاده کنید.
- تابع (
function
): تابعی که میتواند روی یک DataFrame یا Series اعمال شود. تابع باید قابلیت پردازش ورودیهای سری یا DataFrame را داشته باشد - نام تابع به صورت رشته (
string function name
): نام یک تابع داخلی pandas مانند'sum'
,'mean'
,'max'
- لیستی از توابع ویا نام توابع (
list of functions and/or function names
): به عنوان مثال،[np.sum, 'mean']
که چندین عملیات روی داده انجام میدهد. - دیکشنری (
dict
): دیکشنریای که کلیدهای آن نام ستونها (یا سطرها) و مقادیر آنها توابع یا لیستی از توابع است. این گزینه برای اعمال توابع مختلف روی ستونها یا سطرهای مشخص استفاده میشود.
{'A': ['sum', 'mean'], 'B': 'min'}
۲) axis
: عدد صحیح (int
) یا string
، پیشفرض ۰
- اگر
axis=0
یا'index'
باشد (پیشفرض)، توابع روی هر ستون اعمال میشوند - اگر
axis=1
یا ‘columns’ باشد، توابع روی هر سطر اعمال میشوند
۳) args
و kwargs
:
اینها به تابع(های) مشخص شده در func
ارسال میشوند. این پارامترها برای ارسال آرگومانهای اضافی به توابع مفید هستند.
چیزی که این تابع برمیگرداند:
scalar (1
: وقتی از Series.agg
با یک تابع استفاده میکنید و نتیجه تنها یک مقدار عددی است (مثلاً مجموع یا میانگین یک سری).
۲) Series
: اگر DataFrame.agg
با یک تابع استفاده شود، نتیجه یک Series خواهد بود که مقادیر آن نتیجه اجرای آن تابع روی هر ستون یا سطر است.
مثال:
df.agg('sum')
خروجی: مجموع هر ستون به صورت یک سری
۳) DataFrame
: وقتی از DataFrame.agg
با چندین تابع استفاده میکنید، خروجی یک DataFrame است که هر ستون/سطر شامل نتایج توابع مختلف است.
مثال:
df.agg(['sum', 'mean'])
خروجی: یک DataFrame که نتیجه هر تابع برای هر ستون را نشان میدهد
مثالها
مثال۱: یک تابع روی همه ستونها:
import pandas as pd
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
result = df.agg('sum')
print(result)
خروجی:
A 6
B 15
dtype: int64
مثال۲: چندین تابع روی همه ستونها:
import pandas as pd
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
result = df.agg(['sum', 'mean'])
print(result)
خروجی:
A B
sum 6.0 15.0
mean 2.0 5.0
مثال۳: اعمال توابع مختلف روی ستونهای مختلف:
import pandas as pd
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
result = df.agg({'A': 'sum', 'B': ['min', 'max']})
print(result)
خروجی:
A B
sum 6.0 NaN
min NaN 4.0
max NaN 6.0
مثال۴: اعمال توابع روی هر سطر:
import pandas as pd
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
result = df.agg('sum', axis=1)
print(result)
خروجی:
0 ۵
۱ ۷
۲ ۹
dtype: int64