<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Arman Karimi</title>
        <link>https://virgool.io/feed/@mce.armankarimi</link>
        <description>کارشناس ارشد مهندسی کامپیوتر</description>
        <language>fa</language>
        <pubDate>2026-06-17 06:03:10</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/629937/avatar/EiC8JQ.jpg?height=120&amp;width=120</url>
            <title>Arman Karimi</title>
            <link>https://virgool.io/@mce.armankarimi</link>
        </image>

                    <item>
                <title>تحلیل داده‌های آب‌وهوا با پایتون (قدم‌به‌قدم برای مبتدی‌ها)</title>
                <link>https://virgool.io/@mce.armankarimi/%D8%AA%D8%AD%D9%84%DB%8C%D9%84-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7%DB%8C-%D8%A2%D8%A8-%D9%88%D9%87%D9%88%D8%A7-%D8%A8%D8%A7-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D9%82%D8%AF%D9%85-%D8%A8%D9%87-%D9%82%D8%AF%D9%85-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%85%D8%A8%D8%AA%D8%AF%DB%8C-%D9%87%D8%A7-cgxudxas0jkv</link>
                <description>📌 مقدمه:در این آموزش می‌خواهیم یاد بگیریم که چطور با استفاده از پایتون، یک دیتاست ساده آب‌وهوا را تحلیل کنیم.ابزارهایی که استفاده می‌کنیم:زبان برنامه‌نویسی پایتون 🐍کتابخانه‌ی Pandas برای کار با داده‌ها 📊کتابخانه‌ی Matplotlib برای رسم نمودار 📈اگر مثل من تازه‌کار هستید، نگران نباشید. قدم‌به‌قدم با هم پیش می‌رویم!مرحله اول: آماده‌سازی محیطقبل از شروع باید مطمئن شوید که کتابخانه‌های زیر نصب شده‌اند:pip install pandas matplotlibمرحله دوم: ساخت دیتاست آب‌وهوااول باید داده‌ها را تعریف کنیم.در این مثال ما میانگین دما و میزان بارش چند ماه را وارد می‌کنیم.import pandas as pd  # کتابخانه pandas را وارد می‌کنیم

# ساخت داده به صورت دیکشنری
data = {
    &#039;Month&#039;: [&#039;Jan&#039;, &#039;Feb&#039;, &#039;Mar&#039;, &#039;Apr&#039;, &#039;May&#039;, &#039;Jun&#039;],
    &#039;Temperature&#039;: [3, 6, 12, 18, 24, 30],  # دمای میانگین ماهانه
    &#039;Rainfall&#039;: [50, 40, 55, 30, 20, 10]   # میزان بارش ماهانه
}

# ساخت دیتافریم
df = pd.DataFrame(data)

# نمایش دیتافریم
print(df)  Month  Temperature  Rainfall
0   Jan            3        50
1   Feb            6        40
2   Mar           12        55
3   Apr           18        30
4   May           24        20
5   Jun           30        10مرحله سوم: محاسبه آمار کلیحالا می‌خواهیم ببینیم میانگین دما و بارش چقدر است.# میانگین دما
print(&quot;میانگین دما:&quot;, df[&#039;Temperature&#039;].mean())

# میانگین بارش
print(&quot;میانگین بارش:&quot;, df[&#039;Rainfall&#039;].mean())میانگین دما: 15.5میانگین بارش: 34.166666666666664مرحله چهارم: رسم نمودار دمادر این مرحله با Matplotlib یک نمودار خطی ساده از دما رسم می‌کنیم.import matplotlib.pyplot as plt  # وارد کردن matplotlib

# رسم نمودار دما
plt.plot(df[&#039;Month&#039;], df[&#039;Temperature&#039;], marker=&#039;o&#039;)

# عنوان و برچسب‌ها
plt.title(&#039;Average Monthly Temperature&#039;)
plt.xlabel(&#039;Month&#039;)
plt.ylabel(&#039;Temperature (°C)&#039;)

plt.show()نمودار تغییرات دما در هر ماهمرحله پنجم: رسم نمودار بارشحالا می‌توانیم میزان بارش را هم با نمودار ستونی نمایش دهیم.# رسم نمودار ستونی بارش
plt.bar(df[&#039;Month&#039;], df[&#039;Rainfall&#039;], color=&#039;skyblue&#039;)

# عنوان و برچسب‌ها
plt.title(&#039;Average Monthly Rainfall&#039;)
plt.xlabel(&#039;Month&#039;)
plt.ylabel(&#039;Rainfall (mm)&#039;)

plt.show()نمودار میزان بارش در هر ماهمرحله ششم: ترکیب دو نمودار (پیشرفته‌تر)اگر بخواهید حرفه‌ای‌تر شوید، می‌توانید هر دو را در یک نمودار ترکیبی رسم کنید:fig, ax1 = plt.subplots()

# محور اول: دما
ax1.plot(df[&#039;Month&#039;], df[&#039;Temperature&#039;], color=&#039;red&#039;, marker=&#039;o&#039;)
ax1.set_xlabel(&#039;Month&#039;)
ax1.set_ylabel(&#039;Temperature (°C)&#039;, color=&#039;red&#039;)

# محور دوم: بارش
ax2 = ax1.twinx()
ax2.bar(df[&#039;Month&#039;], df[&#039;Rainfall&#039;], alpha=0.3)
ax2.set_ylabel(&#039;Rainfall (mm)&#039;, color=&#039;blue&#039;)

plt.title(&#039;Temperature and Rainfall&#039;)
plt.show()نتیجه‌گیریما در این آموزش:با Pandas دیتافریم ساختیمآمار کلی گرفتیمنمودار خطی و ستونی کشیدیمو حتی دو نمودار را ترکیب کردیم.همه‌ی این‌ها قدم‌های ساده‌ای هستند که پایه‌ی تحلیل داده‌های واقعی را تشکیل می‌دهند. از همین امروز می‌توانید دیتاست‌های واقعی (مثل فایل‌های CSV) را دانلود کنید و با همین روش تحلیل کنید!✨ ایده برای تمرین بیشتر:دیتای ماه‌های بیشتر اضافه کنید.نمودارهای جذاب‌تری با Seaborn بسازید.خروجی نمودار را در یک فایل تصویری ذخیره کنید.این آموزش را با دوستانتان به اشتراک بگذارید!</description>
                <category>Arman Karimi</category>
                <author>Arman Karimi</author>
                <pubDate>Sat, 31 Jan 2026 19:16:41 +0330</pubDate>
            </item>
                    <item>
                <title>چطوری دیتاست کگل رو به گوگل کولب انتقال بدیم؟</title>
                <link>https://virgool.io/@mce.armankarimi/%DA%86%D8%B7%D9%88%D8%B1%DB%8C-%D8%AF%DB%8C%D8%AA%D8%A7%D8%B3%D8%AA-%DA%A9%DA%AF%D9%84-%D8%B1%D9%88-%D8%A8%D9%87-%DA%AF%D9%88%DA%AF%D9%84-%DA%A9%D9%88%D9%84%D8%A8-%D8%A7%D9%86%D8%AA%D9%82%D8%A7%D9%84-%D8%A8%D8%AF%DB%8C%D9%85-ihvyjrrzvra6</link>
                <description>قدم اولوارد سایت کگل می شیم (اگر قبلا  در این سایت حساب کاربری ایجاد نکردید، باید حساب کاربریتون رو بسازید). بعد وارد بخش &quot; Account &quot; بشید. برای این منظور کافیه تا روی تصویر دایره ای  سمت راست بالای صفحه کلیک کنید و از اونجا گزینه  Account رو انتخاب کنید. یکمی صفحه رو اسکرول کنید پایین و از قسمت API  روی گزینه Create New API Token کلیک کنید تا یک فایل json رو دریافت کنید. این فایل شامل، یک username و  Key می باشد.قدم دوم وارد کولب بشید و نوتبوک مورد نظرتون رو باز کنید و کتابخونه opendatasets نصب کنید.! pip install opendatasetsحالا برید به صفحه که دیتاستش رو میخواید و لینک اون صفحه رو از نوار آدرسش کپی کنید برگردید به نوت بوک کولبتون و  opendatasets رو وارد کنید.import opendatasets

opendatasets.download(&amp;quotلینک صفحه رو اینجا وارد کنید&amp;quot)   
#حتما توجه داشته باشید که لینک صفحه بین تک یا دابل کوتیشن قرار بدیدبعد از اجرای دستور بالا از شما میخواد که user name کگلتون رو وارد کنید. برای وارد کردن user name بهتره اون فایل json که دریافت کردید رو باز کنید و از اونجا مقدار username رو وارد کنید.بعد ازتون میخواد که Kaggle Key رو هم وارد کنید که از همون  فایل json  می تونید مقدار key کپی کنید.و تمام! الان دیتاست رو در اختیار دارید. </description>
                <category>Arman Karimi</category>
                <author>Arman Karimi</author>
                <pubDate>Fri, 20 Jan 2023 20:57:45 +0330</pubDate>
            </item>
                    <item>
                <title>متد ( ) os.walk</title>
                <link>https://virgool.io/@mce.armankarimi/%D9%85%D8%AA%D8%AF-oswalk-n4i733lvhlsp</link>
                <description>میخوام درباره متد ( )os.walk از کتابخونونه OS در پایتون چیزایی که فهمیدمو بگم این تصویرو ببینیدساختار درختی پوشه هاهمونطور که میبینید ما یک پوشه اصلی _root_ داریم به اسم DEVOPS که این پوشه اصلی سه تا پوشه درونش به اسم های  dev1 و dev2 وdev3  داره و پوشه dev1 هم درون خودش دوتا پوشه dev1-1 و    dev1-2 و دوتام فایل متنیه dev1-1.txt و dev1-2.txt  رو درون خودش داره و پوشه dev2 هم درون خودش یه پوشه dev2-1 و یه دونه فایل متنی dev2-1.txt داره و پوشه dev3 هم یدونه فایل متنی dev3-1.txt داره. و به یه نکته ریزم توجه دارید که dev1 به عنوان ریشه برای پوشه ها و فایل های درونیش به حساب میاد و همینطور dev2 به عنوان ریشه برای پوشه و فایل درونیش و dev3  هم به عنوان ریشه برای فایل درونیش.حالا ما اگه بخوایم از پوشه اصلی DEVOPSحرکت کنیم و به فایل متنی dev1-2.txt برسیم باید چه مسیری رو طی کنیم؟  میریم به پوشه dev1 بعد از اونجام میرسیم به فایل مورد نظرمون                                                           حالا اگه بخوایم از فایل dev1-2.txt  که درون پوشه dev1 هستش برگردیم به پوشه DEVOPS چه مسیری طی می کنیم؟ از پوشه dev1 برمیگردیم عقب  و میرسیم به پوشه اصلی                                                                          یعنی هم میتونیم از بالا به پایین و از پایین به بالا تو همه ی مسیر های موجود حرکت کنیم                                                       خب متد ( )os.walk دقیقا همین کارو برامون انجام میده os.walk(top[, topdown=True[, =None[, followlinks=False]]])پارامتر top ، اشاره به پوشه اصلی در هر مسیری که هست داره که یه tupel سه تایی برمی گردونه                                                                                  پارامتر topdow ، که بصورت پیش فرض مقدارش True  هست یعنی مسیر رو از بالا به پایین پیمایش میکنه و اگه False کنیم مسیر از پایین به بالا پیمایش میکنه                                                                                                 oneerror و followlinks نفهمیدم دقیق منظورش چیه میتونید از  این لینک   ببینید  ; )     حالا بریم ببینیم این دستور دقیقا چیکار میکنهimport os
x=r&#039;C:\Users\enaknar\Desktop\pycharm\devops&#039;
for r, d, f in os.walk(x):
print(r)

#یا

import os
x=r&#039;C:\Users\enaknar\Desktop\pycharm\devops&#039;
for root,dirs,file in os.walk(x):
print(root)میایم مسیری که به پوشه DEVOPS میرسه رو با استفاده از متد  r   در یه متغییر x  ذخیره میکنیم بعد یه حلقه for روی ( )os.walk  میزنیم چونکه گفتیم پارامتر top یه tuple سه تایی بر میگردونه برای همینم مام سه تا پارامتر تعریف میکنیم که بتونیم مقادیر داخل tupleها رو بگیریمبا اجرای دستور بالا همه مسیرهایی که به پوشه ها درونیشون ختم میشنو از ریشه اصلی  بهمون نشون میده (چون ما پوشه DEVOPS رو تو دسکتاپ ایجاد کردیم بنابراین درایو C به عنوان ریشه اصلی حساب میشه)C:\Users\enaknar\Desktop\pycharm\devops
C:\Users\enaknar\Desktop\pycharm\devops\dev1
C:\Users\enaknar\Desktop\pycharm\devops\dev1\dev1-1
C:\Users\enaknar\Desktop\pycharm\devops\dev1\dev1-2
C:\Users\enaknar\Desktop\pycharm\devops\dev2
C:\Users\enaknar\Desktop\pycharm\devops\dev2\dev2-1
C:\Users\enaknar\Desktop\pycharm\devops\dev3مثال دومimport os
x=r&#039;C:\Users\enaknar\Desktop\pycharm\devops&#039;
for r,d,f in os.walk(x):
print(d)خروجیش[&#039;dev1&#039;, &#039;dev2&#039;, &#039;dev3&#039;]
[&#039;dev1-1&#039;, &#039;dev1-2&#039;]
[]
[]
[&#039;dev2-1&#039;]
[]
[]مثال سومimport os
x=r&#039;C:\Users\enaknar\Desktop\pycharm\devops&#039;
for r,d,f in os.walk(x):
for i in d:
print(i)اینجا فقط پوشه های درونی DEVOPS  و یعنی dev1,dev2,dev3 و زیر پوشه های dev1, dev2 رو نشون میدهdev1
dev2
dev3
dev1-1
dev1-2
dev2-1برای دیدن مثال های بیشتر هم میتونید برید به این لینک که منبع توضحیاتم بود :)</description>
                <category>Arman Karimi</category>
                <author>Arman Karimi</author>
                <pubDate>Wed, 10 Mar 2021 22:59:11 +0330</pubDate>
            </item>
            </channel>
</rss>