Mohamed Elnemr نشر 20 أغسطس 2021 أرسل تقرير نشر 20 أغسطس 2021 لدي بيانات على هيئة dataframe ، وأود أن أقوم بتبديل قيم بعض العناصر فيها بقيم أخرى، فقط عناصر محددة وليست كل البيانات، كيف يمكنني فعل هذا؟ 2 اقتباس
0 Ali Haidar Ahmad نشر 21 أغسطس 2021 أرسل تقرير نشر 21 أغسطس 2021 يتم استخدام الدالة replace ولها الشكل التالي: Syntax: DataFrame.replace( old value, new value) مثال: import pandas as pd # إنشاء قاموس dic1 = {'c1': ['55', '44', '33', '22'], 'c2': ['1', '2', '3', '4']} dic2 = {'c1': [ 'e','f', 'g', 'h'], 'c2': ['argentena', 'barca', 'MachineLearning', 'ali']} # تحويلها لداتا فريم df1 = pd.DataFrame(dic1, columns=['c1', 'c2']) df2 = pd.DataFrame(dic2, columns=['c1', 'c2']) # عرض البيانات display(df1) display(df2) """ c1 c2 0 55 1 1 44 2 2 33 3 3 22 4 """ """ c1 c2 0 e argentena 1 f barca 2 g MachineLearning 3 h ali """ # استبدال القيمة 3 في العمود الثاني من الفريم الأول بالقيمةالثانية من العمود الثاني في الفريم الثاني # تحديد القيمة القديمة المراد استبدالها old = df1['c2'][2] # حيث حددنا العمود الثاني والفهرس الذي يقابل القيمة 3 # تحديد القيمة الجديدة new = df2['c2'][1] # تنفيذ عملية الاستبدال df1 = df1.replace(old,new) # عرض النتيجة display(df1) """ c1 c2 0 55 1 1 44 2 2 33 barca 3 22 4 """ # كما يمكنك استبدالها بقيمة أنت تريدها مثلا old = df1['c1'][0] df1 = df1.replace(old,'hsoub') display(df1) """ c1 c2 0 hsoub 1 1 44 2 2 33 barca 3 22 4 """ # كما ويمكننا استبدال عمود بآخر df1['c1'] = df1.replace(df1['c1'],df1['c2']) display(df1) """ c1 c2 0 hsoub 1 1 44 2 2 33 barca 3 22 4 """ كما يمكنك تمرير الوسيط inplace=True في حال أردت أن يتم التعديل على المصفوفة الأصلية بدون إنشاء نسخة. 1 اقتباس
0 Ahmed Sharshar نشر 20 أغسطس 2021 أرسل تقرير نشر 20 أغسطس 2021 (معدل) يمكننا استخدام الدالة Series.str.replace() او الدالة replace وذلك لتبديل قيم عناصر محددة بقيم أخرى، والفرق بينها وبين .replace() فقط انها مفيدة في حالة اردت استبدال معلومات على الشكل string. المثال التالي يوضح كيفية استخدام replace : # استدعاء المكتبة import pandas as pd # قراءة البيانات data = pd.read_csv("data.csv") # تبديل عناصر في عمود بعناصر أخرى data["Age"]= data["Age"].replace(25.0,20.0) #طباعة البيانات الجديدة print(data) هنا نقوم باختيار العمود Age وإستبدال بعض القيم العددية فيه من 25 الي 20. أما اذا اردت استخدام الدالة str.replace فيمكنك استخدامها كالتالي: # استدعاء المكتبة import pandas as pd # قراءة البيانات data = pd.read_csv("data.csv") # استبدال قيم من عمود معين بقيم أخرى data["country"]= data["country"].str.replace("Egypt", "KSA", case = False) #طباعة البيانات المعدلة print(data) هنا نقوم باستبدال الكلمة "Egypt" بالكلمة "KSA" من العمود country، لاحظ أن case = False تعني أنه لا يهتم سواء كانت الكلمات بحروف كبيرة capital او حروف صغيرة small تم التعديل في 20 أغسطس 2021 بواسطة Ahmed Sharshar 1 اقتباس
السؤال
Mohamed Elnemr
لدي بيانات على هيئة dataframe ، وأود أن أقوم بتبديل قيم بعض العناصر فيها بقيم أخرى، فقط عناصر محددة وليست كل البيانات، كيف يمكنني فعل هذا؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.