كيفية تطبيع الأعمدة في pandas dataframe
في كثير من الأحيان قد ترغب في تطبيع قيم البيانات لعمود واحد أو أكثر في pandas DataFrame.
يشرح هذا البرنامج التعليمي طريقتين للقيام بذلك:
1. التطبيع بين الحد الأدنى والحد الأقصى
- الغرض: تحويل كل قيمة بيانات إلى قيمة بين 0 و1.
- الصيغة: القيمة الجديدة = (القيمة – الحد الأدنى) / (الحد الأقصى – الحد الأدنى)
2. التطبيع المتوسط
- الغرض: قياس القيم بحيث يكون متوسط جميع القيم 0 وstd. ديف. هو 1.
- الصيغة: القيمة الجديدة = (القيمة – المتوسط) / (الانحراف المعياري)
دعونا نرى مثالاً لكيفية استخدام كل طريقة على Pandas DataFrame.
مثال 1: تطبيع الحد الأدنى والحد الأقصى
لنفترض أن لدينا DataFrame الباندا التالية:
import pandas as pd #createDataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19], 'assists': [5, 7, 7, 9, 12], 'rebounds': [11, 8, 10, 6, 6]}) #view DataFrame print (df) points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6
يمكننا استخدام الكود التالي لتطبيق تسوية الحد الأدنى والحد الأقصى على كل عمود في DataFrame:
(df-df. min ())/(df. max ()-df. min ()) points assists rebounds 0 1.000000 0.000000 1.0 1 0.000000 0.285714 0.4 2 0.230769 0.285714 0.8 3 0.153846 0.571429 0.0 4 0.538462 1.000000 0.0
القيمة القصوى في كل عمود هي الآن 1 والقيمة الدنيا في كل عمود هي الآن 0 ، وجميع القيم الأخرى بين 0 و 1.
المثال 2: متوسط التطبيع
لنفترض مرة أخرى أن لدينا DataFrame الباندا التالية:
import pandas as pd #createDataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19], 'assists': [5, 7, 7, 9, 12], 'rebounds': [11, 8, 10, 6, 6]}) #view DataFrame print (df) points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6
يمكننا استخدام الكود التالي لتطبيق التسوية المتوسطة على كل عمود في DataFrame:
(df- df.mean ())/df. std () points assists rebounds 0 1.554057 -1.133893 1.227881 1 -0.971286 -0.377964 -0.087706 2 -0.388514 -0.377964 0.789352 3 -0.582772 0.377964 -0.964764 4 0.388514 1.511858 -0.964764
يتم الآن تسوية القيم في كل عمود بحيث يكون متوسط القيم في كل عمود هو 0 والانحراف المعياري للقيم في كل عمود هو 1.
إذا كانت نقطة بيانات معينة لها قيمة تمت تسويتها أكبر من 0، فهذا يشير إلى أن نقطة البيانات أكبر من متوسط العمود الخاص بها. وعلى العكس من ذلك، تشير القيمة المقيسة الأقل من 0 إلى أن نقطة البيانات أقل من متوسط العمود الخاص بها.
مصادر إضافية
الباندا: كيفية التجميع والتجميع عبر أعمدة متعددة
كيفية تصفية Pandas DataFrame بشروط متعددة
كيفية حساب القيم المفقودة في Pandas DataFrame