Medon90ae commited on
Commit
d6d13a2
·
verified ·
1 Parent(s): f7e6451

Create data_management.py

Browse files
Files changed (1) hide show
  1. data_management.py +109 -0
data_management.py ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from datasets import load_dataset, Dataset
2
+ import pandas as pd
3
+ import numpy as np
4
+
5
+ def load_tourism_datasets():
6
+ """
7
+ تحميل مجموعات بيانات جاهزة متعلقة بالسياحة
8
+ """
9
+ try:
10
+ # محاولة تحميل مجموعة بيانات السياحة
11
+ # ملاحظة: قد تحتاج لاستبدال هذا بمجموعة بيانات حقيقية متاحة
12
+ dataset = load_dataset("csv", data_files={"train": "sample_tourism_data.csv"}, split="train")
13
+ return dataset
14
+ except Exception as e:
15
+ print(f"خطأ في تحميل مجموعة البيانات: {str(e)}")
16
+ # إنشاء مجموعة بيانات وهمية للعرض
17
+ return create_sample_tourism_dataset()
18
+
19
+ def create_sample_tourism_dataset():
20
+ """
21
+ إنشاء مجموعة بيانات عينة للسياحة
22
+ """
23
+ # بيانات وهمية للشاليهات
24
+ data = {
25
+ 'name': [
26
+ 'شاليه الشاطئ الذهبي', 'شاليه المنتجع الفاخر', 'شاليه العائلة السعيدة',
27
+ 'شاليه الواحة', 'شاليه البحر الأزرق', 'شاليه النخيل', 'شاليه الصفا',
28
+ 'شاليه المروج', 'شاليه الشروق', 'شاليه الهدوء'
29
+ ],
30
+ 'location': [
31
+ 'العين السخنة', 'الساحل الشمالي', 'رأس سدر', 'العين السخنة', 'الغردقة',
32
+ 'شرم الشيخ', 'الساحل الشمالي', 'العين السخنة', 'مرسى مطروح', 'دهب'
33
+ ],
34
+ 'price': [
35
+ 1200, 1800, 950, 1100, 1500, 2000, 1300, 1000, 1400, 1600
36
+ ],
37
+ 'capacity': [
38
+ 4, 6, 5, 4, 8, 10, 6, 4, 7, 5
39
+ ],
40
+ 'rating': [
41
+ 4.5, 4.8, 4.2, 4.0, 4.7, 4.9, 4.3, 4.1, 4.6, 4.4
42
+ ],
43
+ 'amenities': [
44
+ 'شاطئ خاص، مسبح، واي فاي', 'مسبح، جاكوزي، مطبخ مجهز', 'مسبح، ملعب أطفال، شواء',
45
+ 'شاطئ خاص، تكييف، واي فاي', 'مسبح، جيم، سبا', 'شاطئ خاص، مسبح، مطعم',
46
+ 'مسبح، تراس، مطبخ مجهز', 'شاطئ خاص، واي فاي، تكييف', 'مسبح، ملعب تنس، جاكوزي',
47
+ 'شاطئ خاص، مسبح، منطقة شواء'
48
+ ],
49
+ 'season': [
50
+ 'صيف', 'كل المواسم', 'صيف', 'كل المواسم', 'شتاء', 'كل المواسم',
51
+ 'صيف', 'صيف', 'صيف', 'شتاء'
52
+ ],
53
+ 'target_audience': [
54
+ 'شباب', 'عائلات', 'عائلات', 'أزواج', 'عائلات', 'عائلات',
55
+ 'شباب', 'أزواج', 'عائلات', 'أزواج'
56
+ ]
57
+ }
58
+
59
+ df = pd.DataFrame(data)
60
+ dataset = Dataset.from_pandas(df)
61
+ return dataset
62
+
63
+ def create_chalet_dataset(chalet_data_csv):
64
+ """
65
+ إنشاء مجموعة بيانات للشاليهات من ملف CSV
66
+ """
67
+ try:
68
+ # قراءة البيانات من ملف CSV
69
+ df = pd.read_csv(chalet_data_csv)
70
+
71
+ # إنشاء مجموعة بيانات
72
+ dataset = Dataset.from_pandas(df)
73
+
74
+ # حفظ مجموعة البيانات محلياً
75
+ dataset.save_to_disk("chalet_dataset")
76
+
77
+ return dataset
78
+ except Exception as e:
79
+ print(f"خطأ في إنشاء مجموعة البيانات: {str(e)}")
80
+ return None
81
+
82
+ def filter_dataset_by_criteria(dataset, criteria):
83
+ """
84
+ تصفية مجموعة البيانات حسب معايير محددة
85
+ """
86
+ filtered_dataset = dataset
87
+
88
+ for key, value in criteria.items():
89
+ if value:
90
+ filtered_dataset = filtered_dataset.filter(lambda example: example[key] == value)
91
+
92
+ return filtered_dataset
93
+
94
+ def analyze_dataset(dataset):
95
+ """
96
+ تحليل مجموعة البيانات وإرجاع إحصاءات مفيدة
97
+ """
98
+ df = dataset.to_pandas()
99
+
100
+ analysis = {
101
+ 'count': len(df),
102
+ 'locations': df['location'].value_counts().to_dict(),
103
+ 'avg_price': df['price'].mean(),
104
+ 'avg_rating': df['rating'].mean(),
105
+ 'audience_distribution': df['target_audience'].value_counts().to_dict(),
106
+ 'season_distribution': df['season'].value_counts().to_dict()
107
+ }
108
+
109
+ return analysis