تمرير الوسيطات إلى السلسلة، تطبيق الوظائف في Python Pandas
توفر مكتبة الباندا طريقة 'apply()' لتطبيق دالة على كل عنصر من عناصر السلسلة. ومع ذلك، لا تسمح الإصدارات الأقدم من الباندا بتمرير وسائط إضافية إلى الوظيفة.
الحل للإصدارات الأقدم من الباندا:
للتعامل مع هذا القيد في الإصدارات الأقدم من الباندا، يمكنك استخدام وظائف 'functools.partial()' أو 'lambda':
استخدام 'functools.partial()':
import functools
import operator
# Define a function with multiple arguments
def add_3(a, b, c):
return a b c
# Create a partial function by binding extra arguments
add_3_partial = functools.partial(add_3, 2, 3)
# Apply the partial function to a series
series.apply(add_3_partial)
استخدام 'lambda':
# Create a lambda function to pass extra arguments to the apply method
lambda_func = lambda x: my_function(a, b, c, d, ..., x)
# Apply the lambda function to the series
series.apply(lambda_func)
الحل للإصدارات الأحدث من Pandas:
منذ أكتوبر 2017، تدعم الباندا تمرير كل من الوسائط الموضعية والكلمات الرئيسية مباشرة إلى ' Apply()' طريقة:
series.apply(my_function, args=(2, 3, 4), extra_kw={"example": 5})
في بناء الجملة هذا، تتم إضافة الوسائط الموضعية بعد عنصر السلسلة، بينما يتم تمرير وسائط الكلمات الرئيسية كقاموس. تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3