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


يمكنك استخدام بناء الجملة الأساسي التالي للحصول على السلسلة الفرعية لعمود كامل في pandas DataFrame:

 df[' some_substring '] = df[' string_column ']. str [1:4]

يقوم هذا المثال المحدد بإنشاء عمود جديد يسمى some_substring الذي يحتوي على الأحرف من المواضع من 1 إلى 4 في string_column .

يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.

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

لنفترض أن لدينا DataFrame الباندا التالي الذي يحتوي على معلومات حول فرق كرة السلة المختلفة:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavericks', 'Warriors', 'Rockets', 'Hornets', 'Lakers'],
                   ' points ': [120, 132, 108, 118, 106]})

#view DataFrame
print (df)

        team points
0 Mavericks 120
1 Warriors 132
2 Rockets 108
3 Hornets 118
4 Lakers 106

يمكننا استخدام الصيغة التالية لإنشاء عمود جديد يحتوي على الأحرف من عمود الفريق بين الموضعين 1 و4:

 #create column that extracts characters in positions 1 through 4 in team column
df[' team_substring '] = df[' team ']. str [1:4]

#view updated DataFrame
print (df)

        team points team_substring
0 Mavericks 120 ave
1 Warriors 132 arr
2 Rockets 108 ock
3 Hornets 118 orn
4 Lakers 106 ake

يحتوي العمود الجديد المسمى team_substring على الأحرف من عمود الفريق بين الموضعين 1 و4.

لاحظ أنه إذا حاولت استخدام بناء الجملة هذا لاستخراج سلسلة فرعية من عمود رقمي، فسوف تتلقى خطأ:

 #attempt to extract characters in positions 0 through 2 in points column
df[' points_substring '] = df[' points ']. str [:2]

AttributeError: Can only use .str accessor with string values!

بدلاً من ذلك، يجب عليك أولاً تحويل العمود الرقمي إلى سلسلة باستخدام astype(str) :

 #extract characters in positions 0 through 2 in points column
df[' points_substring '] = df[' points ']. astype (str). str [:2]

#view updated DataFrame
print (df)

        team points points_substring
0 Mavericks 120 12
1 Warriors 132 13
2 Rockets 108 10
3 Hornets 118 11
4 Lakers 106 10

هذه المرة تمكنا من استخراج الأحرف بنجاح من المواضع من 0 إلى 2 من عمود النقاط لأننا قمنا بتحويلها إلى سلسلة أولاً.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في الباندا:

الباندا: تحقق مما إذا كانت السلسلة تحتوي على سلاسل فرعية متعددة
الباندا: كيفية إضافة سلسلة إلى كل قيمة في عمود
الباندا: كيفية اختيار الأعمدة التي تحتوي على سلسلة محددة

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *