تجزیه و تحلیل جامع داده های آب و هوا با استفاده از پایتون: دما، روند بارش و تجسم ها

Summarize this content to 400 words in Persian Lang
تجزیه و تحلیل داده های آب و هوا و پیش بینی برای شهرهای مختلف در کنیا
مقدمه
در این مقاله، من شما را از طریق تجزیه و تحلیل الگوهای آب و هوا با استفاده از پایتون راهنمایی می کنم. از شناسایی روند دما تا تجسم بارندگی، این راهنمای گام به گام برای هر کسی که علاقه مند به استفاده از تکنیک های علم داده برای تجزیه و تحلیل آب و هوا است، عالی است. من کد، دستکاری داده ها و تجسم ها را برای بینش های عملی بررسی خواهم کرد.
در کنیا، آب و هوا در بسیاری از بخشها، بهویژه کشاورزی، گردشگری و فعالیتهای فضای باز نقش مهمی دارد. کشاورزان، مشاغل و برنامه ریزان رویداد برای تصمیم گیری به اطلاعات دقیق آب و هوا نیاز دارند. با این حال، الگوهای آب و هوا می تواند به طور قابل توجهی در مناطق مختلف متفاوت باشد، و سیستم های پیش بینی فعلی ممکن است همیشه بینش های محلی را ارائه نکنند.
هدف این پروژه جمع آوری داده های آب و هوای بلادرنگ از OpenWeatherMap API و Weather API برای مناطق مختلف در سراسر کنیا است. این داده ها در یک پایگاه داده ذخیره می شوند و با استفاده از آن تجزیه و تحلیل می شوند پایتون برای کشف بینش در مورد: –
روند دما
الگوهای بارندگی – شرایط رطوبت و باد
در این پروژه، من یک مجموعه داده حاوی اطلاعات آب و هوا برای شهرهای مختلف کنیا را تجزیه و تحلیل می کنم. مجموعه داده شامل بیش از 3000 ردیف مشاهدات آب و هوا، از جمله دما، رطوبت، فشار، سرعت باد، دید و بارندگی و سایر عوامل است. با استفاده از این بینش ها، هدف ما ارائه پیش بینی دقیق آب و هوای خاص منطقه است که می تواند به تصمیم گیری در بخش های حساس به آب و هوا مانند کشاورزی، گردشگری و حتی مدیریت کمک کند.
نمای کلی مجموعه داده
مجموعه داده با استفاده از چندین ستون ساختار یافته است:
تاریخ – مهر زمانی که زمان ثبت آب و هوا را نشان می دهد.
شهر و کشور – محل مشاهده آب و هوا.
طول و عرض جغرافیایی – مختصات جغرافیایی مکان.
دما (سلسیوس) – دمای ثبت شده.
رطوبت (%) – درصد رطوبت هوا.
فشار (hPa) – فشار اتمسفر در هکتوپاسکال.
سرعت باد (m/s) – سرعت باد در آن زمان.
باران (میلی متر) – میزان بارندگی که بر حسب میلی متر اندازه گیری می شود.
ابرها (%) – درصد پوشش ابر.
وضعیت آب و هوا و توصیف آب و هوا – توضیحات کلی و جزئی از آب و هوا (به عنوان مثال، 'ابرها'، 'ابرهای پراکنده').
ساختار داده ها در پایگاه داده به این صورت است.
تجزیه و تحلیل داده های اکتشافی
اولین مرحله در تجزیه و تحلیل شامل اکتشاف اولیه داده ها بود._ ابعاد داده – مجموعه داده شامل 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)’)
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
این توزیع نشان دهنده گسترش کلی دما در سراسر شهرها است. نمودار خط KDE تخمین صافی از توزیع احتمال دما ارائه می دهد.
توزیع بارندگی
sns.displot(df1[‘rain’], bins=50, kde=True)
plt.title(‘Rainfall Distribution’)
plt.xlabel(‘Rainfall (mm/h)’)
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
این کد توزیع بارندگی را در شهرهای کنیا تجزیه و تحلیل می کند.
رطوبت، فشار و سرعت باد
قطعات توزیع مشابه برای رطوبت (%)، فشار (hPa)، و سرعت باد (m/s)، هر کدام بینش مفیدی را در مورد تغییرات این پارامترها در مجموعه داده ارائه می دهند.
تجزیه و تحلیل وضعیت آب و هوا
شرایط آب و هوا (به عنوان مثال، “ابرها”، “باران”) شمارش شده و با استفاده از نمودار دایره ای برای نشان دادن توزیع متناسب آنها تجسم شد:
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()
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
بارندگی در سطح شهر
یکی از تحلیلهای کلیدی کل بارندگی بر اساس شهر بود:
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()
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
این نمودار نشان میدهد که کدام شهرها بیشترین بارندگی را در طول دوره مشاهده شده داشتهاند، با تعداد کمی از نقاط دورافتاده که بارش قابل توجهی را در مقایسه با سایرین نشان میدهند.
میانگین دمای ماهانه
avg_temp_by_month.plot(kind=’line’)
plt.title(‘Average Monthly Temperature’)
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
نمودار خطی نوسانات دما را در ماه های مختلف نشان می دهد که تغییرات فصلی را نشان می دهد.
میانگین بارندگی ماهانه
monthly_rain.plot(kind=’line’)
plt.title(‘Average Monthly Rainfall’)
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
به طور مشابه، بارندگی برای مشاهده چگونگی تغییر ماهانه آن مورد تجزیه و تحلیل قرار گرفت.
ما همچنین دادهها را با استفاده از نقشههای حرارتی برای درک بهتری از دما و بارندگی ماهانه تجسم کردیم.در اینجا نقشه های حرارتی برای میانگین دما و بارندگی ماهانه آمده است
همبستگی بین متغیرهای آب و هوا
بعد، ماتریس همبستگی بین متغیرهای کلیدی آب و هوا را محاسبه کردم:
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’)
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
دادههای بارندگی برای Nyeri یک الگوی فصلی واضح را نشان میدهد که میزان بارندگی در ماههای خاص به اوج خود میرسد.
نتیجه گیری
این تجزیه و تحلیل یک نمای کلی از شرایط آب و هوایی در شهرهای بزرگ ارائه می دهد، دما، بارندگی و سایر متغیرهای کلیدی آب و هوا را برجسته می کند. با استفاده از تجسمهایی مانند هیستوگرام، نمودار خطی، نمودار دایرهای و نقشه حرارتی، ما توانستیم بینشهای معناداری را از دادهها استخراج کنیم. تجزیه و تحلیل بیشتر می تواند شامل مقایسه این روندها با الگوهای آب و هوای تاریخی یا کاوش مدل سازی پیش بینی برای پیش بینی روندهای آب و هوای آینده باشد.
می توانید نوت بوک Jupyter را با کد کامل این تحلیل در مخزن GitHub من پیدا کنید.
تجزیه و تحلیل داده های آب و هوا و پیش بینی برای شهرهای مختلف در کنیا
مقدمه
در این مقاله، من شما را از طریق تجزیه و تحلیل الگوهای آب و هوا با استفاده از پایتون راهنمایی می کنم. از شناسایی روند دما تا تجسم بارندگی، این راهنمای گام به گام برای هر کسی که علاقه مند به استفاده از تکنیک های علم داده برای تجزیه و تحلیل آب و هوا است، عالی است. من کد، دستکاری داده ها و تجسم ها را برای بینش های عملی بررسی خواهم کرد.
در کنیا، آب و هوا در بسیاری از بخشها، بهویژه کشاورزی، گردشگری و فعالیتهای فضای باز نقش مهمی دارد. کشاورزان، مشاغل و برنامه ریزان رویداد برای تصمیم گیری به اطلاعات دقیق آب و هوا نیاز دارند. با این حال، الگوهای آب و هوا می تواند به طور قابل توجهی در مناطق مختلف متفاوت باشد، و سیستم های پیش بینی فعلی ممکن است همیشه بینش های محلی را ارائه نکنند.
هدف این پروژه جمع آوری داده های آب و هوای بلادرنگ از OpenWeatherMap API و Weather API برای مناطق مختلف در سراسر کنیا است. این داده ها در یک پایگاه داده ذخیره می شوند و با استفاده از آن تجزیه و تحلیل می شوند پایتون برای کشف بینش در مورد: –
- روند دما
- الگوهای بارندگی – شرایط رطوبت و باد
در این پروژه، من یک مجموعه داده حاوی اطلاعات آب و هوا برای شهرهای مختلف کنیا را تجزیه و تحلیل می کنم. مجموعه داده شامل بیش از 3000 ردیف مشاهدات آب و هوا، از جمله دما، رطوبت، فشار، سرعت باد، دید و بارندگی و سایر عوامل است. با استفاده از این بینش ها، هدف ما ارائه پیش بینی دقیق آب و هوای خاص منطقه است که می تواند به تصمیم گیری در بخش های حساس به آب و هوا مانند کشاورزی، گردشگری و حتی مدیریت کمک کند.
نمای کلی مجموعه داده
مجموعه داده با استفاده از چندین ستون ساختار یافته است:
- تاریخ – مهر زمانی که زمان ثبت آب و هوا را نشان می دهد.
- شهر و کشور – محل مشاهده آب و هوا.
- طول و عرض جغرافیایی – مختصات جغرافیایی مکان.
- دما (سلسیوس) – دمای ثبت شده.
- رطوبت (%) – درصد رطوبت هوا.
- فشار (hPa) – فشار اتمسفر در هکتوپاسکال.
- سرعت باد (m/s) – سرعت باد در آن زمان.
- باران (میلی متر) – میزان بارندگی که بر حسب میلی متر اندازه گیری می شود.
- ابرها (%) – درصد پوشش ابر.
- وضعیت آب و هوا و توصیف آب و هوا – توضیحات کلی و جزئی از آب و هوا (به عنوان مثال، 'ابرها'، 'ابرهای پراکنده').
ساختار داده ها در پایگاه داده به این صورت است.
تجزیه و تحلیل داده های اکتشافی
اولین مرحله در تجزیه و تحلیل شامل اکتشاف اولیه داده ها بود.
_ ابعاد داده – مجموعه داده شامل 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)')
این توزیع نشان دهنده گسترش کلی دما در سراسر شهرها است. نمودار خط KDE تخمین صافی از توزیع احتمال دما ارائه می دهد.
توزیع بارندگی
sns.displot(df1['rain'], bins=50, kde=True)
plt.title('Rainfall Distribution')
plt.xlabel('Rainfall (mm/h)')
این کد توزیع بارندگی را در شهرهای کنیا تجزیه و تحلیل می کند.
رطوبت، فشار و سرعت باد
قطعات توزیع مشابه برای رطوبت (%)، فشار (hPa)، و سرعت باد (m/s)، هر کدام بینش مفیدی را در مورد تغییرات این پارامترها در مجموعه داده ارائه می دهند.
تجزیه و تحلیل وضعیت آب و هوا
شرایط آب و هوا (به عنوان مثال، “ابرها”، “باران”) شمارش شده و با استفاده از نمودار دایره ای برای نشان دادن توزیع متناسب آنها تجسم شد:
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()
بارندگی در سطح شهر
یکی از تحلیلهای کلیدی کل بارندگی بر اساس شهر بود:
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()
این نمودار نشان میدهد که کدام شهرها بیشترین بارندگی را در طول دوره مشاهده شده داشتهاند، با تعداد کمی از نقاط دورافتاده که بارش قابل توجهی را در مقایسه با سایرین نشان میدهند.
میانگین دمای ماهانه
avg_temp_by_month.plot(kind='line')
plt.title('Average Monthly Temperature')
نمودار خطی نوسانات دما را در ماه های مختلف نشان می دهد که تغییرات فصلی را نشان می دهد.
میانگین بارندگی ماهانه
monthly_rain.plot(kind='line')
plt.title('Average Monthly Rainfall')
به طور مشابه، بارندگی برای مشاهده چگونگی تغییر ماهانه آن مورد تجزیه و تحلیل قرار گرفت.
ما همچنین دادهها را با استفاده از نقشههای حرارتی برای درک بهتری از دما و بارندگی ماهانه تجسم کردیم.
در اینجا نقشه های حرارتی برای میانگین دما و بارندگی ماهانه آمده است
همبستگی بین متغیرهای آب و هوا
بعد، ماتریس همبستگی بین متغیرهای کلیدی آب و هوا را محاسبه کردم:
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')
دادههای بارندگی برای Nyeri یک الگوی فصلی واضح را نشان میدهد که میزان بارندگی در ماههای خاص به اوج خود میرسد.
نتیجه گیری
این تجزیه و تحلیل یک نمای کلی از شرایط آب و هوایی در شهرهای بزرگ ارائه می دهد، دما، بارندگی و سایر متغیرهای کلیدی آب و هوا را برجسته می کند. با استفاده از تجسمهایی مانند هیستوگرام، نمودار خطی، نمودار دایرهای و نقشه حرارتی، ما توانستیم بینشهای معناداری را از دادهها استخراج کنیم. تجزیه و تحلیل بیشتر می تواند شامل مقایسه این روندها با الگوهای آب و هوای تاریخی یا کاوش مدل سازی پیش بینی برای پیش بینی روندهای آب و هوای آینده باشد.
می توانید نوت بوک Jupyter را با کد کامل این تحلیل در مخزن GitHub من پیدا کنید.