ذخیره سازی داده ها در Excel با پایتون
🟢ذخیرهسازی دادهها در Excel با استفاده از pandas
🧩پکیج های موردنیاز
ابتدا باید اطمینان حاصل کنید که pandas و openpyxl (به عنوان یک کتابخانه مورد نیاز برای نوشتن به فایلهای Excel) نصب شدهاند.
میتوانید این پکیجها را با استفاده از pip نصب کنید:
pip install pandas openpyxl
توضیحات دقیق در رابطه با نحوه نصب کتابخانه ها
کد:
import pandas as pd
data = [[19.50, 17.25, 16.75, 19],
[12, 18.25, 15.50, 15],
[19, 20, 18.25, 1775]]
df = pd.DataFrame(data, index=['Radvin', 'Ramin', 'Rasta'],
columns=['physic', 'chemistry', 'math', 'literature'])
with pd.ExcelWriter('U_M.xlsx', engine='xlsxwriter') as writer:
df.to_excel(writer, sheet_name='U2M')
x = pd.read_excel('pandas_simple.xlsx', index_col=0)
print(x)
🧩تحلیل قطعه کد بالا
1. وارد کردن کتابخانه pandas
import pandas as pd
در این خط، کتابخانه
pandas به عنوان pd وارد شده است. این کتابخانه برای کار با دادهها، بهویژه جداول و دیتافریمها، استفاده میشود.2. تعریف دادهها
data = [[19.50, 17.25, 16.75, 19],
[12, 18.25, 15.50, 15],
[19, 20, 18.25, 17.75]]
در این بخش، یک لیست از لیستها تعریف شده است که نمایانگر نمرات دانشآموزان در چهار موضوع مختلف است. هر زیر لیست نمایانگر نمرات یک دانشآموز در چهار درس است.
3. ایجاد DataFrame
df = pd.DataFrame(data, index=['Radvin', 'Ramin', 'Rasta'],
columns=['physic', 'chemistry', 'math', 'literature'])
اینجا یک DataFrame با استفاده از دادههای تعریف شده ایجاد میشود. نامهای دانشآموزان به عنوان ایندکس و نام دروس به عنوان ستونها تنظیم میشوند. به این ترتیب، DataFrame به شکل زیر خواهد بود:
physic chemistry math literature
Radvin 19.50 17.25 16.75 19.00
Ramin 12.00 18.25 15.50 15.00
Rasta 19.00 20.00 18.25 17.75
4. ذخیره DataFrame به فایل Excel
with pd.ExcelWriter('U_M.xlsx', engine='xlsxwriter') as writer:
df.to_excel(writer, sheet_name='U2M')در این خط، با استفاده از
pd.ExcelWriter، DataFrame به یک فایل Excel با نام U_M.xlsx ذخیره میشود. engine='xlsxwriter' مشخص میکند که از کتابخانه xlsxwriter برای ایجاد فایل Excel استفاده شود. جدول در ورق (sheet) به نام U2M ذخیره میشود.5. خواندن دادهها از فایل Excel
x = pd.read_excel('pandas_simple.xlsx', index_col=0)در این بخش، با استفاده از
pd.read_excel دادهها از فایلی به نام pandas_simple.xlsx خوانده میشوند. پارامتر index_col=0 مشخص میکند که اولین ستون به عنوان ایندکس DataFrame در نظر گرفته شود.6. چاپ DataFrame خوانده شده
print(x)
در نهایت، محتویات DataFrame خوانده شده از فایل
pandas_simple.xlsx چاپ میشود.🧩خلاصه
این کد ابتدا یک DataFrame از نمرات دانشآموزان ایجاد کرده و آن را در یک فایل Excel ذخیره میکند.
سپس از یک فایل Excel دیگر به نام pandas_simple.xlsx دادهها را میخواند و آنها را چاپ میکند.
توجه داشته باشید که نام فایل pandas_simple.xlsx باید به درستی موجود باشد؛ در غیر این صورت، اگر فایلی با این نام وجود نداشته باشد، خطا نمایش داده خواهد شد.
#بدانیم | #تحلیل_کد | #pandas | آموزش پایتون
👍1
Python Visual Art.pdf
14.1 MB
📚«Python Visual Art: 100 Exercises»
📚کتاب "هنر تجسمی پایتون"
✅به هنر دیجیتال و برنامهنویسی علاقه دارید؟؟
این کتاب میتواند یک منبع عالی برای یادگیری و ترکیب برنامهنویسی با هنر بصری باشد.
✅فرصتی برای کاوش در دنیای خلاقیت، نوآوری و تکنیکهای طراحی با استفاده از زبان پایتون
#معرفی_کتاب | #بوک_تایم | آموزش پایتون
📚کتاب "هنر تجسمی پایتون"
✅به هنر دیجیتال و برنامهنویسی علاقه دارید؟؟
این کتاب میتواند یک منبع عالی برای یادگیری و ترکیب برنامهنویسی با هنر بصری باشد.
✅فرصتی برای کاوش در دنیای خلاقیت، نوآوری و تکنیکهای طراحی با استفاده از زبان پایتون
#معرفی_کتاب | #بوک_تایم | آموزش پایتون
NumPy-Cheat-Sheet.pdf
134.7 KB
✍️پکیج numpy در پایتون
میدونی Cheat Sheet (برگه تقلب) چیه؟!
⛔️اگر یه خلاصه بر ویژگی های اصلی پکیج numpy در پایتون میخوای این Cheat Sheet و از دست نده.
#برگه_تقلب | #Cheat_Sheet | آموزش پایتون | #numpy
میدونی Cheat Sheet (برگه تقلب) چیه؟!
⛔️اگر یه خلاصه بر ویژگی های اصلی پکیج numpy در پایتون میخوای این Cheat Sheet و از دست نده.
پکیج Numpy یک بسته اساسی برای محاسبات علمی در پایتون است. از آرایه ها و ماتریس ها به همراه مجموعه ای از توابع ریاضی برای کار بر روی این ساختارهای داده پشتیبانی می کند.
#برگه_تقلب | #Cheat_Sheet | آموزش پایتون | #numpy
🧐برنامهای بنویسید که از لیست بالا کلماتی که پالیندروم هستند را شناسایی کند و آنها را در یک لیست جدید قرار دهد و در آخر لیست را چاپ کند.
#چالش | آموزش پایتون
پالیندروم (palindrome) چیست؟
پالیندروم یعنی متقارن
چه از اول بخوانی چه از آخر تغییری در ماهیت ندارد.
برای مثال کلمه گرگ یا کلمه level
#چالش | آموزش پایتون
👨💻4
آموزش پایتون
🧐برنامهای بنویسید که از لیست بالا کلماتی که پالیندروم هستند را شناسایی کند و آنها را در یک لیست جدید قرار دهد و در آخر لیست را چاپ کند. پالیندروم (palindrome) چیست؟ پالیندروم یعنی متقارن چه از اول بخوانی چه از آخر تغییری در ماهیت ندارد. برای مثال کلمه…
def palindrome(words_list):
new_words_list = []
for word in words_list:
cleaned_word = ''.join(word.lower().split())
if cleaned_word == cleaned_word[::-1]:
new_words_list.append(word)
return new_words_list
words_list = ['Level', 'Lady', 'Madam', 'Gentleman', 'Refer', 'Ant', 'Repaper']
print(palindrome(words_list))
👨💻3
در پایتون، کدام یک از دستورها برای مدیریت استثنا (Exceptions) استفاده میشود؟
Anonymous Quiz
33%
catch
67%
try
0%
for
0%
if
آموزش پایتون
try and except (2).rar
در این فایل دستور try و except توضیح داده شده.
اگر نیازی به مرور داشتید میتونید ازش استفاده کنید.
اگر نیازی به مرور داشتید میتونید ازش استفاده کنید.
🔆دستور dir
🔅نحوه استفاده از dir()
استفاده از
مثالها
1. استفاده از
2. استفاده از
3. استفاده از
اگر آرگومانی به آن داده نشود،
🔅خروجی تابع
- ویژگیها (Attributes)
- متدها (Methods)
- نام کلاسها (Class names)
- و همچنین متدهای خاص (مانند متدهای شروع با دو خط تیره
#dir
دستور dir() در پایتون یک تابع داخلی است که به اطلاعات مربوط به ویژگیها و متدهای موجود برای یک شی (object) خاص را نمایش میدهد. این دستور میتواند برای بررسی اشیاء مختلف، از جمله ماژولها، کلاسها و نمونهها استفاده شود.
🔅نحوه استفاده از dir()
استفاده از
dir() به شکل زیر است:dir(object)
مثالها
1. استفاده از
dir() برای یک ماژولimport math
# نمایش ویژگیها و متدهای ماژول math
print(dir(math))
2. استفاده از
dir() برای یک کلاسclass MyClass:
def __init__(self):
self.attribute = "Hello"
def my_method(self):
return "Method called!"
# ایجاد یک نمونه از کلاس
obj = MyClass()
# نمایش ویژگیها و متدهای نمونه کلاس
print(dir(obj))
3. استفاده از
dir() بدون آرگوماناگر آرگومانی به آن داده نشود،
dir() تمام نامهای موجود در فضای نام فعلی (current namespace) را برمیگرداند.# نمایش نامهای موجود در فضای نام فعلی
print(dir())
🔅خروجی تابع
dir() شامل لیستی از نامها خواهد بود که معمولاً شامل:- ویژگیها (Attributes)
- متدها (Methods)
- نام کلاسها (Class names)
- و همچنین متدهای خاص (مانند متدهای شروع با دو خط تیره
__)🧩خلاصه
تابع dir() یک ابزار مفید برای بررسی و شناخت اشیاء و ماژولهای موجود در پایتون است. به شما کمک میکند تا بفهمید چه ویژگیها و متدهایی برای یک شی خاص در دسترس است و میتواند به درک بهتر کد و ایجاد عمیقتر ارتباط با APIها کمک کند.
#dir
dir(int)
👇output:
['abs', 'add', 'and', 'bool', 'ceil', 'class', 'delattr', 'dir', 'divmod', 'doc', 'eq', 'float', 'floor', 'floordiv', 'format', 'ge', 'getattribute', 'getnewargs', 'gt', 'hash', 'index', 'init', 'init_subclass', 'int', 'invert', 'le', 'lshift', 'lt', 'mod', 'mul', 'ne', 'neg', 'new', 'or', 'pos', 'pow', 'radd', 'rand', 'rdivmod', 'reduce', 'reduce_ex', 'repr', 'rfloordiv', 'rlshift', 'rmod', 'rmul', 'ror', 'round', 'rpow', 'rrshift', 'rshift', 'rsub', 'rtruediv', 'rxor', 'setattr', 'sizeof', 'str', 'sub', 'subclasshook', 'truediv', 'trunc', 'xor', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'numerator', 'real', 'to_bytes']#integer_function | #dir
⛑Integer Functions
Here’s a summary of the key functions specifically related to integers, as well as some additional mathematical and numerical functions that may be useful:
در اینجا خلاصه ای از توابع کلیدی مربوط به اعداد صحیح و همچنین برخی از توابع ریاضی و عددی اضافی که ممکن است مفید باشند آورده شده است:
🔐Key Integer Functions ( توابع کلیدی عدد صحیح)
1. Conversion Functions ( توابع تبدیل)
-
-
-
-
-
-
-
-
2. Mathematical Functions ( توابع ریاضی)
-
-
-
-
-
-
-
-
3. Boolean and Logical Operations (عملیات بولی و منطقی)
-
-
-
4. Iterators and Functional Programming (تکرار کننده ها و برنامه نویسی تابعی)
-
-
5. Character Functions (توابع کاراکتری)
-
-
#integer_function | #dir
Here’s a summary of the key functions specifically related to integers, as well as some additional mathematical and numerical functions that may be useful:
در اینجا خلاصه ای از توابع کلیدی مربوط به اعداد صحیح و همچنین برخی از توابع ریاضی و عددی اضافی که ممکن است مفید باشند آورده شده است:
🔐Key Integer Functions ( توابع کلیدی عدد صحیح)
1. Conversion Functions ( توابع تبدیل)
-
int()-
float()-
str()-
bin()-
oct()-
hex()-
from_bytes()-
to_bytes()2. Mathematical Functions ( توابع ریاضی)
-
abs()-
pow()-
round()-
max()-
min()-
sum()-
divmod()-
len() (for lists, strings, etc., but can be used with collections of integers)3. Boolean and Logical Operations (عملیات بولی و منطقی)
-
all()-
any()-
isinstance()4. Iterators and Functional Programming (تکرار کننده ها و برنامه نویسی تابعی)
-
filter()-
map()5. Character Functions (توابع کاراکتری)
-
chr()-
ord()#integer_function | #dir
School='School ' *3
print(School.replace('School', 'Python'))
print(School.replace('School', 'Python'))
Anonymous Quiz
57%
Python Python Python
0%
School
43%
School Python Python
0%
Python
0%
Error
💅رشته(string)ای که میخواهی را جایگزین کن!
کار با رشته ها در پایتون بسیار راحت است، زیرا روش های داخلی زیادی برای آنها وجود دارد. یکی از روش ها() str.replace است که به شما امکان می دهد قسمت هایی از رشته ها را جایگزین کنید.
آرگومان اول رشته ای است که میخواهید آن را تغییر دهید و آرگومان دوم چیزی است که میخواهید جایگزین شود.
همچنین یک آرگومان سوم(اختیاری) وجود دارد که تعیین می کند چند بار می خواهید زیررشته قدیمی را با زیررشته جدید جایگزین کنید.
نکته: اگر آرگومان سوم را قرار ندهیم، به طور پیش فرض، همه رخدادها جایگزین می شوند.
#String_Functions
کار با رشته ها در پایتون بسیار راحت است، زیرا روش های داخلی زیادی برای آنها وجود دارد. یکی از روش ها() str.replace است که به شما امکان می دهد قسمت هایی از رشته ها را جایگزین کنید.
Str.replace(Argument1, Argument2, Argument3)
آرگومان اول رشته ای است که میخواهید آن را تغییر دهید و آرگومان دوم چیزی است که میخواهید جایگزین شود.
همچنین یک آرگومان سوم(اختیاری) وجود دارد که تعیین می کند چند بار می خواهید زیررشته قدیمی را با زیررشته جدید جایگزین کنید.
نکته: اگر آرگومان سوم را قرار ندهیم، به طور پیش فرض، همه رخدادها جایگزین می شوند.
#String_Functions
👍2
تحلیل کد بالا
Tuple1 = (9, 6, 0, 0)
Touple2 = (3, 4, 1, 2)
print(Tuple1 > Touple2)
👈اگر عدد اول Tuple1 از عدد اول Touple2 کوچکتر باشد، مقدار False را برمیگرداند.
👈اگر عدد اول Tuple1 از عدد اول Touple2 بزرگتر باشد، مقدار True را برمیگرداند.
👈اگر عدد اول Tuple1 با عدد اول Touple2 برابر باشد، به مقایسه ی عدد بعدی میپردازد...
#بدانیم | #tuple | آموزش پایتون
🔆تفاوت و اشتراک در تاپل
یکی از راه ها برای یافتن اشتراک و تفاوت های دو تاپل تبدیل آنها به set و استفاده از دستورات intersectionو difference میباشد.
فرض کنید دو تاپل داریم:
🔅یافتن اشتراک
برای یافتن عناصر مشترک بین دو تاپل، میتوانید از تبدیل هر کدام به مجموعه (Set) استفاده کنید، زیرا مجموعهها عملیاتهای جستجو و اشتراک را سریعتر انجام میدهند:
🔅یافتن تفاوت
برای یافتن عناصر موجود در یک تاپل که در تاپل دیگر وجود ندارند، میتوانید از عملگر تفاوت (difference) استفاده کنید:
مگه تاپل ها غیرقابل تغییر نیستند؟
پس چطوری میشه تفاوت و اشتراک هاشون و پیدا کرد؟؟
یکی از راه ها برای یافتن اشتراک و تفاوت های دو تاپل تبدیل آنها به set و استفاده از دستورات intersectionو difference میباشد.
فرض کنید دو تاپل داریم:
tuple1 = (1, 2, 3, 4, 5) tuple2 = (4, 5, 6, 7, 8)🔅یافتن اشتراک
برای یافتن عناصر مشترک بین دو تاپل، میتوانید از تبدیل هر کدام به مجموعه (Set) استفاده کنید، زیرا مجموعهها عملیاتهای جستجو و اشتراک را سریعتر انجام میدهند:
tuple1 = (1, 2, 3, 4, 5)
tuple2 = (4, 5, 6, 7, 8)
# تبدیل تاپلها به مجموعه و پیدا کردن اشتراک
intersection = set(tuple1) & set(tuple2)
print("intersection=", intersection)
#Output:
#intersection={4, 5}
🔅یافتن تفاوت
برای یافتن عناصر موجود در یک تاپل که در تاپل دیگر وجود ندارند، میتوانید از عملگر تفاوت (difference) استفاده کنید:
# تفاوت بین تاپل ۱ و ۲
difference1 = set(tuple1) - set(tuple2)
difference2 = set(tuple2) - set(tuple1)
print(" differences between tuple1, tuple2:", difference1)
print(" differences between Touple2, tuple1:", difference2)
#Output :
#differences between tuple1, tuple2: {1, 2, 3}
#differences between Touple2, tuple1: {8, 6, 7}
🔗توجه:
این روش فقط برای عناصر قابل مقایسه (مثل اعداد، رشتهها و ...) قابل استفاده است. اگر عناصر تاپلها شامل نوع دادههای پیچیدهتری باشند، باید روشهای دیگری مد نظر قرار گیرد.
pie chart using matplotlib in python
🔆ساخت نمودار دایرهای با matplotlib
در اینجا گام به گام رسم یک نمودار دایره ای توضیح داده شده است.
🔅گام 1: نصب matplotlib
اگر تا به حال آن را نصب نکرده اید، میتوانید برای نصب آن دستور زیر را در command prompt تایپ کنید.
pip install matplotlib
🔅گام 2: ساخت یک نمودار دایره ای
👇مثال
import matplotlib.pyplot as plt
# Data to plot
labels = ['Python', 'Java', 'C++', 'Ruby']
sizes = [45, 30, 15, 10] # Corresponding sizes for each label
colors = ['gold', 'lightcoral', 'lightskyblue', 'lightgreen'] # Colors for each slice
explode = (0.1, 0, 0, 0) # explode 1st slice (i.e. 'Python')
# Create a pie chart
plt.figure(figsize=(8, 8)) # Set the figure size
plt.pie(sizes, explode=explode, labels=labels, colors=colors,
autopct='%1.1f%%', shadow=True, startangle=140)
plt.axis('equal') # Equal aspect ratio ensures that pie chart is a circle.
# Title
plt.title('Programming Language Usage')
# Show the plot
plt.show()
🟣توضیح کد
1. وارد کردن Matplotlib: با استفاده از
import matplotlib.pyplot as plt ما ماژول مورد نیاز برای رسم نمودار را وارد میکنیم.2. آمادهسازی دادهها:
-
labels: یک لیست از رشتهها است که نمایانگر برچسبهای هر بخش دایره است.
-
sizes: یک لیست از مقادیر است که اندازه هر بخش دایره را نشان میدهد.
-
colors: یک لیست از رنگها برای هر بخش.
-
explode: برای بیرون آوردن یک بخش از دایره استفاده میشود؛ در اینجا، بخش اول (Python) به بیرون آورده شده است.
3. ایجاد نمودار دایرهای:
- توابع
plt.pie() برای رسم نمودار دایرهای استفاده میشود و پارامترهای مختلفی شامل sizes، explode، labels، colors و گزینههای مختلفی برای زیباسازی مانند autopct برای نشان دادن درصد روی بخشهای دایره دارد.4. نسبت نابرابر:
plt.axis('equal') اطمینان حاصل میکند که نمودار دایرهای به صورت کامل نمایش داده میشود.5. عنوان و نمایش نمودار: با استفاده از
plt.title() یک عنوان برای نمودار تنظیم میکنیم و با plt.show() نمودار را نمایش میدهیم.🔗توجه:
این یک مثال ساده از نمودار دایرهای است. شما میتوانید آن را با تنظیم پارامترهایی مانند shadow، startangle و استفاده از طرحهای رنگی مختلف سفارشی کنید.
import matplotlib.pyplot as plt
import numpy as np
def midpoints(x):
sl = ()
for _ in range(x.ndim):
x = (x[sl + np.index_exp[:-1]] + x[sl + np.index_exp[1:]]) / 2.0
sl += np.index_exp[:]
return x
# prepare some coordinates, and attach rgb values to each
r, g, b = np.indices((17, 17, 17)) / 16.0
rc = midpoints(r)
gc = midpoints(g)
bc = midpoints(b)
# define a sphere about [0.5, 0.5, 0.5]
sphere = (rc - 0.5)**2 + (gc - 0.5)**2 + (bc - 0.5)**2 < 0.5**2
# combine the color components
colors = np.zeros(sphere.shape + (3,))
colors[..., 0] = rc
colors[..., 1] = gc
colors[..., 2] = bc
# and plot everything
ax = plt.figure().add_subplot(projection='3d')
ax.voxels(r, g, b, sphere,
facecolors=colors,
edgecolors=np.clip(2*colors - 0.5, 0, 1), # brighter
linewidth=0.5)
ax.set(xlabel='r', ylabel='g', zlabel='b')
ax.set_aspect('equal')
plt.show()
#matplotlib | #numpy