كيفية استخراج رقم من سلسلة في الباندا


يمكنك استخدام بناء الجملة الأساسي التالي لاستخراج الأرقام من سلسلة في الباندا:

 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

Add a Comment

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