كيفية استخراج رقم من سلسلة في الباندا
يمكنك استخدام بناء الجملة الأساسي التالي لاستخراج الأرقام من سلسلة في الباندا:
df[' my_column ']. str . extract (' (\d+) ')
سيقوم بناء الجملة هذا باستخراج الأرقام من كل سلسلة إلى عمود يسمى my_column في pandas DataFrame.
ملاحظة : عند استخدام تعبير عادي، \d يمثل “أي رقم” و + يعني “واحد أو أكثر”.
يوضح المثال التالي كيفية استخدام هذه الوظيفة عمليًا.
مثال: استخراج الرقم من سلسلة في Pandas
لنفترض أن لدينا DataFrame الباندا التالية التي تحتوي على معلومات حول مبيعات المنتجات المختلفة:
import pandas as pd #createDataFrame df = pd. DataFrame ({' product ': ['A33', 'B34', 'A22', 'A50', 'C200', 'D7', 'A9', 'A13'], ' sales ': [18, 22, 19, 14, 14, 11, 20, 28]}) #view DataFrame print (df) product sales 0 A33 18 1 B34 22 2 A22 19 3 A50 14 4 C200 14 5 D7 11 6 A9 20 7 A13 28
لنفترض أننا نريد استخراج رقم كل سلسلة من عمود المنتج .
يمكننا استخدام بناء الجملة التالي للقيام بذلك:
#extract numbers from strings in 'product' column
df[' product ']. str . extract (' (\d+) ')
0
0 33
1 34
2 22
3 50
4,200
5 7
6 9
7 13
والنتيجة هي DataFrame الذي يحتوي فقط على الأرقام الموجودة في كل صف من عمود المنتج .
على سبيل المثال:
- تستخرج الصيغة 33 من السلسلة A33 في السطر الأول.
- تستخرج الصيغة 34 من السلسلة B34 في السطر الأول.
- تستخرج الصيغة 22 من السلسلة A22 في الصف الأول.
وما إلى ذلك وهلم جرا.
إذا أردت، يمكنك أيضًا تخزين هذه القيم الرقمية في عمود جديد في DataFrame:
#extract numbers from strings in 'product' column and store them in new column
df[' product_numbers '] = df[' product ']. str . extract (' (\d+) ')
#view updated DataFrame
print (df)
product sales product_numbers
0 A33 18 33
1 B34 22 34
2 A22 19 22
3 A50 14 50
4 C200 14,200
5 D7 11 7
6 A9 20 9
7 A13 28 13
يحتوي العمود الجديد المسمى أرقام_المنتج على أرقام كل سلسلة في عمود المنتج فقط.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في الباندا:
الباندا: كيفية فرز DataFrame بناءً على عمود السلسلة
الباندا: كيفية إزالة أحرف معينة من السلاسل
الباندا: ابحث عن سلسلة في جميع أعمدة DataFrame