Ahmed Ahmed64 نشر 18 يناير أرسل تقرير نشر 18 يناير السلام عليكم لنفترض أن لدينا DataFrame تحتوي على عمود Name هذا العمود به الاسم ثلاثي وأردت أن أقوم بالبحث عن اسم معين داخل هذا العمود و لنفترض أن الاسم أحمد كيف أستحرج جميع الحقول التي تحتوي على اسم أحمد إذا أمكن أيضا أخي أحتاج أن تكون عرض النتيجة داخل أداة Treeview - Python Tkinter 1 اقتباس
0 Chihab Hedidi نشر 19 يناير أرسل تقرير نشر 19 يناير يمكنك القيام بذلك عن طريقة وضع treeview تحتوي على كل الأسماء التي تقرأها من ال dataset الخاصة بك و من ثم تقوم بتعريف دالة للبحث عن الأسماء المحددة التي تريدها، يمكنك الإستعانة بهذا الكود و التعديل عليه حسب إحتياجاتك: import pandas as pd import tkinter as tk from tkinter import ttk # إنشاء DataFrame تجريبي data = {'Name': ['أحمد محمد علي', 'محمد أحمد علي', 'علي أحمد محمد', 'يوسف أحمد', 'أحمد علي']} df = pd.DataFrame(data) # إنشاء نافذة Tkinter root = tk.Tk() root.title("بحث في DataFrame") # إضافة Treeview لعرض النتائج columns = ['Name'] tree = ttk.Treeview(root, columns=columns, show='headings') # تحديد عناوين الأعمدة for col in columns: tree.heading(col, text=col) # تحديد عرض الأعمدة tree.column('Name', width=200) # إضافة البيانات إلى Treeview for index, row in df.iterrows(): tree.insert('', 'end', values=(row['Name'],)) # إضافة حقل لإدخال اسم البحث search_var = tk.StringVar() search_entry = tk.Entry(root, textvariable=search_var, width=20) search_entry.grid(row=0, column=1, padx=10, pady=10) tree.grid(row=0, column=0, sticky='nsew') # دالة للبحث عن الاسم وعرض النتائج في Treeview def search_name(): query = search_var.get().strip() # حذف النتائج الحالية for row in tree.get_children(): tree.delete(row) # إيجاد النتائج المطابقة وإضافتها إلى Treeview for index, row in df[df['Name'].str.contains(query)].iterrows(): tree.insert('', 'end', values=(row['Name'],)) # إضافة زر لتشغيل البحث search_button = tk.Button(root, text="ابحث", command=search_name) search_button.grid(row=0, column=2, padx=10, pady=10) # تشغيل النافذة root.mainloop() حاول بين الحين و الآخر كتابة الكود لوحدك و واجه المشكلات التي تكون فيه، هذا سيحفز فيك حل المشكلات البرمجية و يصبح لديك خبرة مع مرور الوقت. يمكنك أيضا قراءة المقالات الخاصة بالبيثون و واجهات المستخدم من خلال الرابط التالي: 1 اقتباس
0 El Sayed El Tohamy نشر 19 يناير أرسل تقرير نشر 19 يناير هل تقصد البحث في الأسماء عن أي اسم يحتوي كلمة "أحمد" سواء بأولها أو وسطها أو آخرها؟ إذا كان كذلك يمكنك استخدام الوظيفة contains import re import pandas as pd names = pd.DataFrame({ 'Name': ['Ahmed Yousof', 'Abdullah Mohammed', 'Ashraf Ali', 'Fatema El Zahraa'], 'Arabic': [90, 80, 70, 95], 'Math': [100, 99, 95, 90] }) result = names[names['Name'].str.contains('ahmed')] print(result) 1 اقتباس
0 Ahmed Ahmed64 نشر 21 يناير الكاتب أرسل تقرير نشر 21 يناير بتاريخ On 19/1/2024 at 14:08 قال El Sayed El Tohamy: هل تقصد البحث في الأسماء عن أي اسم يحتوي كلمة "أحمد" سواء بأولها أو وسطها أو آخرها؟ إذا كان كذلك يمكنك استخدام الوظيفة contains import re import pandas as pd names = pd.DataFrame({ 'Name': ['Ahmed Yousof', 'Abdullah Mohammed', 'Ashraf Ali', 'Fatema El Zahraa'], 'Arabic': [90, 80, 70, 95], 'Math': [100, 99, 95, 90] }) result = names[names['Name'].str.contains('ahmed')] print(result) تمام أشكرك أخي هذا ما قصدته ماذا لو البحث عن الاسم الأول فقط كيف الطريقة اقتباس
0 El Sayed El Tohamy نشر 21 يناير أرسل تقرير نشر 21 يناير (معدل) هي سهلة جدًا، يمكن أن أقولها لك، ولكن أريدك البحث عنها بنفسك، لتنمية مهارة التعليم الذاتي، وإليك إرشاد: سيتم تغيير الوظيفة contains بوظيفة أخرى. بالتوفيق والسداد، تم التعديل في 21 يناير بواسطة El Sayed El Tohamy اقتباس
السؤال
Ahmed Ahmed64
السلام عليكم
لنفترض أن لدينا DataFrame تحتوي على عمود Name هذا العمود به الاسم ثلاثي وأردت أن أقوم بالبحث عن اسم معين داخل هذا العمود و لنفترض أن الاسم أحمد
كيف أستحرج جميع الحقول التي تحتوي على اسم أحمد
إذا أمكن أيضا أخي أحتاج أن تكون عرض النتيجة داخل أداة Treeview - Python Tkinter
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.