الباندا 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
الملخص
- لاستيراد مجموعة بيانات CSV في الباندايمكنك استخدام الكائن pd.read_csv().
- يمكن أن تساعدك طريقة groupby() في تلخيص البيانات حسب المجموعة.
- يمكنك أيضًا التجميع حسب عدة أعمدة. على سبيل المثال، يمكنك الحصول على أقصى مكسب رأسمالي وفقًا لنوع الأسرة والحالة الاجتماعية.