Skip to content

Commit 22a0bd0

Browse files
committed
Update translation: lectures/about_py.md
1 parent 4d9ab6e commit 22a0bd0

1 file changed

Lines changed: 48 additions & 29 deletions

File tree

lectures/about_py.md

Lines changed: 48 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,18 @@ translation:
2828
Scientific Programming with Python::Other Scientific Libraries: سایرکتابخانه های علمی
2929
---
3030

31+
(about_py)=
32+
```{raw} jupyter
33+
<div id="qe-notebook-header" align="right" style="text-align:right;">
34+
<a href="https://quantecon.org/" title="quantecon.org">
35+
<img style="width:250px;display:inline;" width="250px" src="https://assets.quantecon.org/img/qe-menubar-logo.svg" alt="QuantEcon">
36+
</a>
37+
</div>
38+
```
39+
40+
```{index} single: python
41+
```
42+
3143
# درباره ی این دوره
3244

3345
```{epigraph}
@@ -126,7 +138,6 @@ translation:
126138
* [Amazon](https://www.amazon.com/)
127139
* [Reddit](https://www.reddit.com/)
128140

129-
130141
### جایگاه محبوبیت
131142

132143
بدون شک، پایتون یکی از [محبوب ترین زبان های برنامه نویسی](https://www.tiobe.com/tiobe-index/) است و کتابخانه های پایتون مانند [pandas](https://pandas.pydata.org/) و [Polars](https://pola.rs/) جایگزین ابزارهای آشنایی همچون Excel و VBA هستند که به عنوان یک مهارت ضروری در زمینه های مالی و بانکی محسوب می شوند.
@@ -245,6 +256,9 @@ print(f"Average: {total / count if count else 'No valid data'}")
245256

246257
### NumPy
247258

259+
```{index} single: scientific programming; numeric
260+
```
261+
248262
یکی از مهم ترین بخش های محاسبات علمی کار با داده است. داده ها اغلب در ماتریس ها، بردارها و آرایه ها ذخیره می شوند و ما میتوانیم یک آرایه ی ساده از اعداد را با پایتون خالص به صورت زیر ایجاد کنیم:
249263

250264
```{code-cell} python3
@@ -254,7 +268,7 @@ a
254268

255269
این آرایه ی بسیار کوچک نشان می دهد که کار با پایتون خالص بسیار راحت است. اما وقتی می خواهیم با آرایه های بزرگتری در برنامه های واقعی کار کنیم، به کارایی بیشتر و ابزارهای بیشتری نیاز داریم. بنابراین، برای اینکار باید از کتابخانه ها برای کار با آرایه ها استفاده کنیم.
256270

257-
برای پایتون، مهمترین کتابخانه ی پردازش ماتریس و آرایه، کتابخانه [NumPy](http://www.numpy.org/) است. به عنوان مثال بیاید یک آرایه با 100 عنصر را با NumPy بسازیم:
271+
برای پایتون، مهمترین کتابخانه ی پردازش ماتریس و آرایه، کتابخانه [NumPy](https://numpy.org/) است. به عنوان مثال بیاید یک آرایه با 100 عنصر را با NumPy بسازیم:
258272

259273
```{code-cell} python3
260274
import numpy as np # Load the library
@@ -280,12 +294,12 @@ b @ c
280294

281295
### جایگزین های NumPy
282296

283-
درحالیکه هنوز سلطان پردازش آرایه ها در پایتون NumPy است، اما اکنون رقبای جدیدی نیز دارد؛ کتابخانه هایی مانند [CuPy](https://cupy.dev/)، [Pytorch](https://pytorch.org/)، [JAX](https://github.com/google/jax) نیز انواع آرایه ها و عملیات آرایه ای را تعبیه کرده اند و می توانند بسیار سریع و کارآمد باشند. همانطور که بعدا در این مجموعه توضیح خواهیم داد؛ در واقع این کتابخانه ها در استفاده از پردازش موازی و سخت افزار سریع، بهتر هستند. با این حال، شما هنوز هم باید ابتدا NumPy را یاد بگیرید، زیرا؛ ساده تر است و یک پایه ی قوی را فراهم می کند، به طور مستقیم عملکرد کتابخانه هایی مانند JAX را گسترش می دهد و از اینرو وقتی NumPy را می شناسید، یادگیری آن را نیز آسان تر می کند.
297+
درحالیکه هنوز سلطان پردازش آرایه ها در پایتون NumPy است، اما اکنون رقبای جدیدی نیز دارد؛ کتابخانه هایی مانند [CuPy](https://cupy.dev/)، [Pytorch](https://pytorch.org/)، [JAX](https://github.com/jax-ml/jax) نیز انواع آرایه ها و عملیات آرایه ای را تعبیه کرده اند و می توانند بسیار سریع و کارآمد باشند. همانطور که بعدا در این مجموعه توضیح خواهیم داد؛ در واقع این کتابخانه ها در استفاده از پردازش موازی و سخت افزار سریع، بهتر هستند. با این حال، شما هنوز هم باید ابتدا NumPy را یاد بگیرید، زیرا؛ ساده تر است و یک پایه ی قوی را فراهم می کند، به طور مستقیم عملکرد کتابخانه هایی مانند JAX را گسترش می دهد و از اینرو وقتی NumPy را می شناسید، یادگیری آن را نیز آسان تر می کند.
284298

285299
(tuple_unpacking_example)=
286300
### SciPy
287301

288-
کتابخانه [SciPy](http://www.scipy.org) بر روی NumPy ساخته شده است و قابلیت های اضافی را ارائه می دهد.
302+
کتابخانه [SciPy](https://scipy.org/) بر روی NumPy ساخته شده است و قابلیت های اضافی را ارائه می دهد.
289303

290304
برای مثال بیاید حساب کنیم جاییکه <math xmlns="http://www.w3.org/1998/Math/MathML">
291305
<msubsup>
@@ -317,53 +331,58 @@ value
317331
کتابخانه ی SciPy شامل بسیاری از امور استاندارد کاربردی مانند [جبرخطی](https://docs.scipy.org/doc/scipy/reference/linalg.html)، [انتگرال گیری](https://docs.scipy.org/doc/scipy/reference/integrate.html)، [درون یابی](https://docs.scipy.org/doc/scipy/reference/interpolate.html)، [بهینه سازی](https://docs.scipy.org/doc/scipy/reference/optimize.html)، [توزیع ها و تکنیک های آماری](https://docs.scipy.org/doc/scipy/reference/stats.html) و [پردازش سیگنال](https://docs.scipy.org/doc/scipy/reference/signal.html) است که می توانید همه ی آنها را [اینجا](https://docs.scipy.org/doc/scipy/reference/index.html) ببینید.
318332

319333
بعدا SciPy را با جزئیات بیشتری توضیح خواهیم داد.
320-
### گرافیک
321-
322-
نقطه ی قوت اصلی پایتون تجسم داده ها است. محبوب ترین و جامع ترین کتابخانه ی پایتون برای ایجاد شکل ها و نمودارها [Matplotlib](http://matplotlib.org/) است که شامل قابلیت های ایجاد تصاویر نمودارها، هیستوگرام ها، سطوح کانتور، نمودارهای سه بعدی، نمودارهای میله ای و... بوده و می تواند خروجی ها را در قالب های مختلف مانند (PDF، PNG، EPS و...) ارائه دهد و همچنین قابلیت ادغام LaTex را نیز دارد.
323334

324-
آنچه در ادامه می بینید مثال هایی از این کتابخانه هستند:
335+
### گرافیک
325336

326-
![نمونه طرح دو بعدی](images/about-py/qs.png)
337+
```{index} single: Matplotlib
338+
```
327339

328-
*نمونه طرح دو بعدی با حاشیه نویسی لاتکس تعبیه شده*
340+
نقطه ی قوت اصلی پایتون تجسم داده ها است. محبوب ترین و جامع ترین کتابخانه ی پایتون برای ایجاد شکل ها و نمودارها [Matplotlib](https://matplotlib.org/) است که شامل قابلیت های ایجاد تصاویر نمودارها، هیستوگرام ها، سطوح کانتور، نمودارهای سه بعدی، نمودارهای میله ای و... بوده و می تواند خروجی ها را در قالب های مختلف مانند (PDF، PNG، EPS و...) ارائه دهد و همچنین قابلیت ادغام LaTex را نیز دارد.
329341

330-
![نمونه طرح سه بعدی](images/about-py/career_vf.png)
342+
آنچه در ادامه می بینید مثال هایی از این کتابخانه هستند:
331343

332-
*نمونه طرح سه بعدی*
344+
```{figure} /_static/lecture_specific/about_py/qs.png
345+
:scale: 75
346+
```
333347

334-
![نمونه طرح کانتور](images/about-py/bn_density1.png)
348+
```{figure} /_static/lecture_specific/about_py/bn_density1.png
349+
:scale: 70
350+
```
335351

336-
*نمونه طرح کانتور*
352+
```{figure} /_static/lecture_specific/about_py/career_vf.png
353+
```
337354

338355
همچنین می توانید نمونه های بیشتری را در [گالری تصاویر Matplotlib](https://matplotlib.org/stable/gallery/index.html) بیابید.
339356

340357
سایر کتابخانه های گرافیکی عبارتند از:
341358

342-
* [Plotly](https://plot.ly/python/)
343-
344-
* [seaborn](https://seaborn.pydata.org/)(یک رابط سطح بالا برای Matplotlib می باشد)
345-
359+
* [Plotly](https://plotly.com/python/)
360+
* [seaborn](https://seaborn.pydata.org/) --- یک رابط سطح بالا برای Matplotlib
346361
* [Altair](https://altair-viz.github.io/)
362+
* [Bokeh](https://docs.bokeh.org/en/latest/)
347363

348-
* [Bokeh](http://bokeh.pydata.org/en/latest/) .
349-
350-
همچنین برای مشاهده نمونه های بیشتری از نمودارهای رسم شده با استفاده از کتابخانه های مختلف، می توانید به [گالری نمودارهای پایتون](https://www.python-graph-gallery.com/) مراجعه کنید.
364+
همچنین برای مشاهده نمونه های بیشتری از نمودارهای رسم شده با استفاده از کتابخانه های مختلف، می توانید به [گالری نمودارهای پایتون](https://python-graph-gallery.com/) مراجعه کنید.
351365

352366
### شبکه ها و نمودارها
353367

354368
مطالعه ی شبکه ها و نمودارها بخش مهمی از کار علمی در اقتصاد، مالی و سایر زمینه ها است؛ به عنوان مثال، ما به مطالعه ی مواردی چون شبکه های تولید، شبکه های بانکی و موسسات مالی، شبکه های اجتماعی و... علاقه مند هستیم.
355369

356-
پایتون نیز کتابخانه های زیادی برای مطالعه ی شبکه ها و نمودارها دارد. یکی از معروف ترین این کتابخانه ها [NetworkX](http://networkx.github.io/) است که از جمله ویژگی های آن داشتن الگوریتم های استاندارد گراف برای تحلیل شبکه ها و فرآیندهای مربوط به نمایش نمودارها است.
370+
پایتون نیز کتابخانه های زیادی برای مطالعه ی شبکه ها و نمودارها دارد.
371+
372+
```{index} single: NetworkX
373+
```
374+
375+
یکی از معروف ترین این کتابخانه ها [NetworkX](https://networkx.org/) است که از جمله ویژگی های آن داشتن الگوریتم های استاندارد گراف برای تحلیل شبکه ها و فرآیندهای مربوط به نمایش نمودارها است.
357376

358377
در زیر نمونه ای از کد آورده شده است که یک گراف تصادفی ایجاد و رسم می کند که رنگ گره ها براساس طول کوتاه ترین مسیر از یک گره ی مرکزی مشخص تعیین می شود.
359378

360379
```{code-cell} ipython
361380
import networkx as nx
362381
import matplotlib.pyplot as plt
363-
np.random.seed(1234)
382+
rng = np.random.default_rng(1234)
364383
365384
# Generate a random graph
366-
p = dict((i, (np.random.uniform(0, 1), np.random.uniform(0, 1)))
385+
p = dict((i, (rng.uniform(0, 1), rng.uniform(0, 1)))
367386
for i in range(200))
368387
g = nx.random_geometric_graph(200, 0.12, pos=p)
369388
pos = nx.get_node_attributes(g, 'pos')
@@ -391,21 +410,21 @@ plt.show()
391410

392411
در اینجا فهرست کوتاهی از چند کتابخانه ی علمی مهم برای پایتون که پیشتر نگفتیم برایتان آورده ایم:
393412

394-
* [SymPy](http://www.sympy.org/): برای جبر نمادین، از جمله محاسبه ی حد، مشتق و انتگرال
413+
* [SymPy](https://www.sympy.org/): برای جبر نمادین، از جمله محاسبه ی حد، مشتق و انتگرال
395414

396-
* [statsmodels](http://statsmodels.sourceforge.net/): برای توابع آماری
415+
* [statsmodels](https://www.statsmodels.org/): برای توابع آماری
397416

398-
* [scikit-learn](http://scikit-learn.org/): برای یادگیری ماشین
417+
* [scikit-learn](https://scikit-learn.org/): برای یادگیری ماشین
399418

400419
* [Keras](https://keras.io/): برای یادگیری ماشین
401420

402-
* [Pyro](https://pyro.ai/) و [PyStan](https://pystan.readthedocs.org/en/latest/): برای تحلیل داده های بیزی
421+
* [Pyro](https://pyro.ai/) و [PyStan](https://pystan.readthedocs.io/en/latest/): برای تحلیل داده های بیزی
403422

404423
* [GeoPandas](https://geopandas.org/en/stable/): برای تحلیل داده های مکانی
405424

406425
* [Dask](https://docs.dask.org/en/stable/): برای پردازش موازی
407426

408-
* [Numba](http://numba.pydata.org/): اجرای پایتون با سرعت برابر با کدهای سطح پایین قابل اجرا توسط سخت افزار
427+
* [Numba](https://numba.pydata.org/): اجرای پایتون با سرعت برابر با کدهای سطح پایین قابل اجرا توسط سخت افزار
409428

410429
* [CVXPY](https://www.cvxpy.org/): برای بهینه سازی محدب
411430

0 commit comments

Comments
 (0)