الباندا read_csv () مع مثال

استيراد CSV في الباندا

أثناء البرنامج التعليمي TensorFlow، ستستخدم مجموعة بيانات البالغين. وغالبا ما يستخدم مع مهمة التصنيف. وهو متوفر في عنوان URL هذا https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data

يتم تخزين البيانات بتنسيق CSV. تتضمن مجموعة البيانات هذه ثمانية متغيرات فئوية:

تتضمن مجموعة البيانات هذه 8 متغيرات فئوية:

  • فئة العمل
  • التعليم
  • الزوجي
  • احتلال
  • صلة
  • سباق
  • جنس
  • الوطن الأم

و6 متغيرات مستمرة:

  • السن
  • com.fnlwgt
  • education_num
  • مكاسب رأس المال
  • خسارة رأس المال
  • ساعات_الاسبوع

طريقة الباندا read_csv ().

لاستيراد مجموعة بيانات CSV، يمكنك استخدام الكائن pd.read_csv(). الحجة الأساسية في الداخل هي:

الباندا read_csv () بناء الجملة

pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
  • مسار الملف أو المخزن المؤقت: المسار أو عنوان URL الذي يحتوي على البيانات
  • سبتمبر=',': تحديد المحدد للاستخدام
  • `أسماء = لا شيء`: تسمية الأعمدة. إذا كانت مجموعة البيانات تحتوي على عشرة أعمدة، فستحتاج إلى تمرير عشرة أسماء
  • `index_col=لا شيء`: إذا كانت الإجابة بنعم، فسيتم استخدام العمود الأول كفهرس صف
  • `skipinitialspace=False`: تخطي المسافات بعد الفاصل.

لمزيد من المعلومات حول read_csv()، يرجى مراجعة الوثائق الرسمية:

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html

الباندا read_csv () مثال

## Import csv
import pandas as pd
## Define path data
COLUMNS = ['age','workclass', 'fnlwgt', 'education', 'education_num', 'marital',
           'occupation', 'relationship', 'race', 'sex', 'capital_gain', 'capital_loss',
           'hours_week', 'native_country', 'label']
PATH = "https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data"
df_train = pd.read_csv(PATH,
                       skipinitialspace=True,
                       names = COLUMNS,
                       index_col=False)
df_train.shape

الإخراج:

(32561, 15)

طريقة مجموعة الباندا ().

الطريقة السهلة لعرض البيانات هي استخدام طريقة groupby. يمكن أن تساعدك هذه الطريقة في تلخيص البيانات حسب المجموعة. فيما يلي قائمة بالطرق المتاحة مع طريقة groupby():

  • عد : عد
  • دقيقة: دقيقة
  • الحد الأقصى: الحد الأقصى
  • يعني يعني
  • متوسط: متوسط
  • الانحراف المعياري: SDT
  • إلخ

داخل groupby()، يمكنك استخدام العمود الذي تريد تطبيق الطريقة فيه.

دعونا نلقي نظرة على مجموعة واحدة تحتوي على مجموعة بيانات البالغين. سوف تحصل على متوسط ​​جميع المتغيرات المستمرة حسب نوع الإيرادات، أي أعلى من 50 ألفًا أو أقل من 50 ألفًا:

df_train.groupby(['label']).mean()
ملصق السن com.fnlwgt education_num مكاسب رأس المال خسارة رأس المال ساعات_الاسبوع
<= 50 ألف 36.783738 190340.86517 9.595065 148.752468 53.142921 38.840210
> 50K 44.249841 188005.00000 11.611657 4006.142456 195.001530 45.473026

يمكنك الحصول على الحد الأدنى للعمر حسب نوع الأسرة:

df_train.groupby(['label'])['age'].min()
label
<=50K    17
>50K     19
Name: age, dtype: int64

يمكنك أيضًا التجميع حسب عدة أعمدة. على سبيل المثال، يمكنك الحصول على أقصى مكسب رأسمالي وفقًا لنوع الأسرة والحالة الاجتماعية.

df_train.groupby(['label', 'marital'])['capital_gain'].max()				
label  marital              
<=50K  Divorced                 34095
       Married-AF-spouse         2653
       Married-civ-spouse       41310
       Married-spouse-absent     6849
       Never-married            34095
       Separated                 7443
       Widowed                   6849
>50K   Divorced                 99999
       Married-AF-spouse         7298
       Married-civ-spouse       99999
       Married-spouse-absent    99999
       Never-married            99999
       Separated                99999
       Widowed                  99999
Name: capital_gain, dtype: int64

يمكنك إنشاء مخطط بعد التجميع. إحدى الطرق للقيام بذلك هي استخدام مخطط بعد التجميع.

لإنشاء مخطط أكثر ممتازة، ستستخدم unstack() بعدmain() بحيث يكون لديك نفس الفهرس متعدد المستويات، أو يمكنك ضم القيم من خلال إيرادات أقل من 50 ألفًا وأكثر من 50 ألفًا. في هذه الحالة، ستحتوي قطعة الأرض على مجموعتين بدلاً من 14 (2*7).

إذا كنت تستخدم Jupyter دفترتأكد من إضافة %matplotlib inline، وإلا فلن يتم عرض أي مخطط

%matplotlib inline
df_plot = df_train.groupby(['label', 'marital'])['capital_gain'].mean().unstack()
df_plot

مثال على طريقة Pandas groupby ().

الملخص

  • لاستيراد مجموعة بيانات CSV في الباندايمكنك استخدام الكائن pd.read_csv().
  • يمكن أن تساعدك طريقة groupby() في تلخيص البيانات حسب المجموعة.
  • يمكنك أيضًا التجميع حسب عدة أعمدة. على سبيل المثال، يمكنك الحصول على أقصى مكسب رأسمالي وفقًا لنوع الأسرة والحالة الاجتماعية.