كيفية تحويل منطقية إلى سلسلة في pandas dataframe


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

 df[' my_bool_column '] = df[' my_bool_column ']. replace ({ True : ' True ', False : ' False '})

يستبدل هذا المثال المحدد كل قيمة True بالسلسلة “True” وكل قيمة False بالسلسلة “False” في العمود المسمى my_bool_column .

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

مثال: تحويل قيمة منطقية إلى سلسلة في Pandas

لنفترض أن لدينا DataFrame الباندا التالية:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G'],
                   ' points ': [18,20, 25, 40, 34, 32, 19],
                   ' all_star ': [True, False, True, True, True, False, False],
                   ' starter ': [False, True, True, True, False, False, False]})

#view DataFrame
print (df)

  team points all_star starter
0 A 18 True False
1 B 20 False True
2 C 25 True True
3 D 40 True True
4 E 34 True False
5 F 32 False False
6 G 19 False False

يمكننا استخدام الدالة dtypes للتحقق من نوع بيانات كل عمود في DataFrame:

 #view data type of each column
print ( df.dtypes )

team object
int64 dots
all_star bool
starter bool
dtype:object

من النتيجة، يمكننا أن نرى أن كلا العمودين all_star و starter منطقيان.

يمكننا استخدام بناء الجملة التالي لتحويل عمود all_star إلى عمود سلسلة:

 #convert Boolean values in all_star column to strings
df[' all_star '] = df[' all_star ']. replace ({ True : ' True ', False : ' False '})

#view updated DataFrame
print (df)

  team points all_star starter
0 A 18 True False
1 B 20 False True
2 C 25 True True
3 D 40 True True
4 E 34 True False
5 F 32 False False
6 G 19 False False

#view updated data types of each column
print ( df.dtypes )

team object
int64 dots
all_star object
starter bool
dtype:object

من النتيجة يمكننا أن نرى أن عمود all_star قد تم تحويله إلى عمود سلسلة.

لتحويل أعمدة all_star و starter من القيم المنطقية إلى سلاسل، يمكننا استخدام الصيغة التالية:

 #convert Boolean values in all_star and starter columns to strings
df[[' all_star ', ' starter ']] = df[[' all_star ', ' starter ']]. replace ({ True : ' True ', False : ' False '})

#view updated DataFrame
print (df)

  team points all_star starter
0 A 18 True False
1 B 20 False True
2 C 25 True True
3 D 40 True True
4 E 34 True False
5 F 32 False False
6 G 19 False False

#view updated data types of each column
print ( df.dtypes )

team object
int64 dots
all_star object
starter object
dtype:object

من النتيجة، يمكننا أن نرى أن كلا العمودين المنطقيين قد تم تحويلهما إلى سلاسل.

ملحوظة: يمكنك العثور على الوثائق الكاملة لوظيفة pandas Replace() هنا .

مصادر إضافية

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

الباندا: حدد صفوفًا من DataFrame باستخدام سلسلة منطقية
الباندا: كيفية إنشاء عمود منطقي بناءً على الحالة
الباندا: كيفية تحويل القيم المنطقية إلى قيم صحيحة

Add a Comment

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