"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > تحليل شامل لبيانات الطقس باستخدام لغة بايثون: درجة الحرارة، واتجاهات هطول الأمطار، والتصورات

تحليل شامل لبيانات الطقس باستخدام لغة بايثون: درجة الحرارة، واتجاهات هطول الأمطار، والتصورات

تم النشر بتاريخ 2024-11-07
تصفح:591
  • تحليل بيانات الطقس والتنبؤ بها لمدن مختلفة في كينيا
    • مقدمة
    • نظرة عامة على مجموعة البيانات
    • تحليل البيانات الاستكشافية
    • تصور ميزات الطقس الرئيسية
    • تحليل حالة الطقس
    • هطول الأمطار على مستوى المدينة
    • متوسط ​​درجة الحرارة الشهرية
    • متوسط ​​هطول الأمطار الشهري
    • الارتباط بين متغيرات الطقس
    • دراسة الحالة: الاتجاهات الخاصة بالمدينة
    • خاتمة

تحليل بيانات الطقس والتنبؤ بها لمدن مختلفة في كينيا


مقدمة

في هذه المقالة، سأرشدك خلال تحليل أنماط الطقس باستخدام لغة بايثون. بدءًا من تحديد اتجاهات درجات الحرارة وحتى تصور هطول الأمطار، يعد هذا الدليل التفصيلي مثاليًا لأي شخص مهتم باستخدام تقنيات علم البيانات لتحليل الطقس. سأستكشف التعليمات البرمجية ومعالجة البيانات والمرئيات للحصول على رؤى عملية.

في كينيا، يلعب الطقس دورًا حاسمًا في العديد من القطاعات، وخاصة الزراعة والسياحة والأنشطة الخارجية. يحتاج المزارعون والشركات ومخططو الأحداث إلى معلومات دقيقة عن الطقس من أجل اتخاذ القرارات. ومع ذلك، يمكن أن تختلف أنماط الطقس بشكل كبير عبر المناطق المختلفة، وقد لا توفر أنظمة التنبؤ الحالية دائمًا رؤى محلية.

الهدف من هذا المشروع هو جمع بيانات الطقس في الوقت الفعلي من OpenWeatherMap API وWeather API لمناطق مختلفة عبر كينيا. سيتم تخزين هذه البيانات في قاعدة بيانات وتحليلها باستخدام Python للكشف عن رؤى حول: -

  • اتجاهات درجات الحرارة
  • أنماط هطول الأمطار - الرطوبة وظروف الرياح

في هذا المشروع، أقوم بتحليل مجموعة بيانات تحتوي على معلومات الطقس لمدن مختلفة في كينيا. تتضمن مجموعة البيانات أكثر من 3000 صف من عمليات رصد الطقس، بما في ذلك درجة الحرارة والرطوبة والضغط وسرعة الرياح والرؤية وهطول الأمطار، من بين عوامل أخرى. باستخدام هذه الأفكار، نهدف إلى توفير تنبؤات جوية دقيقة خاصة بالمنطقة والتي يمكن أن تساعد في اتخاذ القرار في القطاعات الحساسة للطقس مثل الزراعة والسياحة وحتى الإدارة.

نظرة عامة على مجموعة البيانات

تم تنظيم مجموعة البيانات باستخدام عدة أعمدة:

  • التاريخ والوقت - طابع زمني يشير إلى وقت تسجيل الطقس.
  • المدينة والدولة - موقع مراقبة الطقس.
  • خطوط الطول والعرض - الإحداثيات الجغرافية للموقع.
  • درجة الحرارة (مئوية) - درجة الحرارة المسجلة.
  • الرطوبة (%) - نسبة الرطوبة في الهواء.
  • الضغط (hPa) - الضغط الجوي بالهكتوباسكال.
  • سرعة الرياح (م/ث) - سرعة الرياح في ذلك الوقت.
  • الأمطار (مم) - كمية الأمطار المقاسة بالملليمتر.
  • السحب (%) - نسبة التغطية السحابية.
  • حالة الطقس ووصف الطقس - أوصاف عامة وتفصيلية للطقس (على سبيل المثال، "السحب"، "السحب المتفرقة").

هذه هي الطريقة التي يتم بها تنظيم البيانات في قاعدة البيانات.
Comprehensive Weather Data Analysis Using Python: Temperature, Rainfall Trends, and Visualizations


تحليل البيانات الاستكشافية

الخطوة الأولى في التحليل تضمنت الاستكشاف الأساسي للبيانات.
_ أبعاد البيانات - تحتوي مجموعة البيانات على 3000 صف و14 عمود.
_ القيم الخالية - الحد الأدنى من البيانات المفقودة، مما يضمن موثوقية مجموعة البيانات لمزيد من التحليل.

print(df1[['temperature_celsius', 'humidity_pct', 'pressure_hpa', 'wind_speed_ms', 'rain', 'clouds']].describe())

باستخدام الكود أعلاه، قمنا بحساب إحصائيات موجزة للأعمدة الرقمية، التي قدمت رؤى حول نطاق ومتوسط ​​وانتشار درجة الحرارة والرطوبة والضغط وهطول الأمطار والسحب.

تصور ميزات الطقس الرئيسية

للحصول على فهم أوضح لخصائص الطقس، قمنا بتخطيط توزيعات مختلفة:

توزيع درجة الحرارة

sns.displot(df1['temperature_celsius'], bins=50, kde=True)
plt.title('Temperature Distribution')
plt.xlabel('Temperature (Celsius)')

يكشف هذا التوزيع عن الانتشار العام لدرجات الحرارة على مستوى المدن. يعطي مخطط خط كيدي تقديرًا سلسًا للتوزيع الاحتمالي لدرجة الحرارة.

توزيع الأمطار

sns.displot(df1['rain'], bins=50, kde=True)
plt.title('Rainfall Distribution')
plt.xlabel('Rainfall (mm/h)')

يقوم هذا الكود بتحليل توزيع هطول الأمطار عبر المدن الكينية.

الرطوبة والضغط وسرعة الرياح

مخططات توزيع مماثلة لـ الرطوبة (٪) ، الضغط (hPa) ، و سرعة الرياح (م / ث) ، كل منها يوفر رؤى مفيدة حول الاختلافات في هذه المعلمات عبر مجموعة البيانات.

تحليل حالة الطقس

تم حساب الظروف الجوية (على سبيل المثال، "السحب"، "المطر") وتصورها باستخدام مخطط دائري لإظهار توزيعها النسبي:

condition_counts = df1['weather_condition'].value_counts()

plt.figure(figsize=(8,8))
plt.pie(condition_counts, labels=condition_counts.index, autopct='%1.1f%%', pctdistance=1.1, labeldistance=0.6, startangle=140)
plt.title('Distribution of Weather Conditions')
plt.axis('equal')
plt.show()

Comprehensive Weather Data Analysis Using Python: Temperature, Rainfall Trends, and Visualizations

هطول الأمطار على مستوى المدينة

كان أحد التحليلات الرئيسية هو إجمالي هطول الأمطار حسب المدينة:

rainfall_by_city = df1.groupby('city')['rain'].sum().sort_values()

plt.figure(figsize=(12,12))
rainfall_by_city.plot(kind='barh', color='skyblue')
plt.title('Total Rainfall by City')
plt.xlabel('Total Rainfall (mm)')
plt.ylabel('City')
plt.tight_layout()
plt.show()

سلط هذا المخطط الشريطي الضوء على المدن التي تلقت أكبر قدر من الأمطار خلال الفترة المرصودة، مع وجود عدد قليل من القيم المتطرفة التي تظهر هطول أمطار كبيرة مقارنة بالمدن الأخرى.

Comprehensive Weather Data Analysis Using Python: Temperature, Rainfall Trends, and Visualizations

متوسط ​​درجة الحرارة الشهرية

avg_temp_by_month.plot(kind='line')
plt.title('Average Monthly Temperature')

كشف الرسم البياني الخطي عن تقلبات درجات الحرارة عبر الأشهر المختلفة، موضحًا التغيرات الموسمية.

Comprehensive Weather Data Analysis Using Python: Temperature, Rainfall Trends, and Visualizations

متوسط ​​هطول الأمطار الشهري

monthly_rain.plot(kind='line')
plt.title('Average Monthly Rainfall')

وبالمثل، تم تحليل هطول الأمطار لملاحظة مدى اختلافه من شهر لآخر.

Comprehensive Weather Data Analysis Using Python: Temperature, Rainfall Trends, and Visualizations

قمنا أيضًا بتصور البيانات باستخدام الخرائط الحرارية لفهم أكثر سهولة لدرجة الحرارة الشهرية وهطول الأمطار.
فيما يلي الخرائط الحرارية لمتوسط ​​درجة الحرارة الشهرية وهطول الأمطار

Comprehensive Weather Data Analysis Using Python: Temperature, Rainfall Trends, and Visualizations

Comprehensive Weather Data Analysis Using Python: Temperature, Rainfall Trends, and Visualizations

العلاقة بين متغيرات الطقس

بعد ذلك، قمت بحساب مصفوفة الارتباط بين متغيرات الطقس الرئيسية:

correlation_matrix = df1[['temperature_celsius', 'humidity_pct', 'pressure_hpa', 'wind_speed_ms', 'rain', 'clouds']].corr()
correlation_matrix
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm')
plt.title('Correlation Between Weather Variables')

أتاحت لنا خريطة الحرارة هذه تحديد العلاقات بين المتغيرات. على سبيل المثال، لاحظنا وجود علاقة سلبية بين درجة الحرارة والرطوبة، كما هو متوقع.

دراسة الحالة: الاتجاهات الخاصة بالمدينة

لقد ركزت على مدن فردية مثل مومباسا ونيري، لاستكشاف أنماط الطقس الفريدة الخاصة بها:

اتجاهات درجة الحرارة في مومباسا

plt.plot(monthly_avg_temp_msa)
plt.title('Temperature Trends in Mombasa Over Time')

أظهرت هذه المدينة تباينًا كبيرًا في درجات الحرارة على مدار العام.

اتجاهات هطول الأمطار في نييري

plt.plot(monthly_avg_rain_nyr)
plt.title('Rainfall Trends in Nyeri Over Time')

أظهرت بيانات هطول الأمطار في نيري نمطًا موسميًا واضحًا، حيث بلغ هطول الأمطار ذروته خلال أشهر معينة.

خاتمة

يوفر هذا التحليل نظرة شاملة عن الأحوال الجوية في المدن الكبرى، مع تسليط الضوء على درجة الحرارة وهطول الأمطار ومتغيرات الطقس الرئيسية الأخرى. باستخدام تصورات مثل الرسوم البيانية، والمخططات الخطية، والمخططات الدائرية، والخرائط الحرارية، تمكنا من استخلاص رؤى ذات معنى في البيانات. يمكن أن يتضمن التحليل الإضافي مقارنة هذه الاتجاهات بأنماط الطقس التاريخية أو استكشاف النماذج التنبؤية للتنبؤ باتجاهات الطقس المستقبلية.

يمكنك العثور على Jupyter Notebook مع الكود الكامل لهذا التحليل في مستودع GitHub الخاص بي).


بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/edvichuki/comprehensive-weather-data-analogy-using-python-temperature-rainfall-trends-and-visualizations-1off?1 إذا كان هناك أي انتهاك، فيرجى الاتصال بـ Study_golang @163.com حذف
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3