ﺪﯿﻔﻣ ﯼﺎﻫ ﮏﯿﻨﮑﺗ :Numpy ﯽﻠﻤﻋ ﯼﺎﻫ ﻪﻧﻮﻤﻧ


.ﺪﯿﻨﮐ ﻦﯾﺮﻤﺗ ﻒﻠﺘﺨﻣ ﺕﺎﻨﯾﺮﻤﺗ ﺎﺑ ﺍﺭ ﺩﻮﺧ ﺪﯾﺪﺟ ﯼﺎﻫ ﺕﺭﺎﻬﻣ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ﻦﯿﻨﭽﻤﻫ ﺎﻤﺷ .ﺪﻧﻮﺷ

ﻪﻧﻮﮕﭼ ﻪﮐ ﺖﻓﺮﮔ ﺪﯿﻫﺍﻮﺧ ﺩﺎﯾ ﺎﻤﺷ ،ﺵﺯﻮﻣﺁ ﻦﯾﺍ ﺭﺩ:

  • ﺪﯿﻨﮐ ﺩﺎﺠﯾﺍ ﯼﺪﻌﺑ ﺪﻨﭼ ﯼﺎﻫ ﻪﯾﺍﺭﺁ ﺎﻫ ﻩﺪﻧﻭﺮﭘ ﺭﺩ ﻩﺪﺷ ﻩﺮ
  • ﺪﯿﻨﮐ ﻑﺬﺣ ﻭ ﯽﯾﺎﺳﺎﻨﺷ numpy ﻪﯾﺍﺭﺁ ﮏﯾ ﺯﺍ ﺍﺭ / ﯼﺭﺍﺮﮑﺗ ﯼﺎﻫ ﻩﺩﺍﺩ
  • ﺪﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ ﻪﺘﻓﺎﯾ ﺖﺧﺎﺳ ﯼﺎﻫ ﻪﯾﺍﺭﺁ ﺯﺍ ﺎﻫ ﻩﺩﺍﺩ ﻪﻋﻮﻤﺠﻣ ﻦ
  • ﺪﯿﻨﮐ ﺭﺍﺩﻮﻤﻧ ﻭ ﻞﯿﻠﺤﺗ ﻭ ﻪﯾﺰﺠﺗ ﺍﺭ ﯽﺒﺗﺍﺮﻣ ﻪﻠﺴﻠﺳ ﯼﺎﻫ ﻩﺩﺍﺩ ﺯﺍ ﯽﺻﺎﺧ
  • ﺪﯿﻨﮐ ﺩﺎﺠﯾﺍ ﺍﺭ ﺩﻮﺧ ﻊﺑﺍﻮﺗ ﺭﺍﺩﺮﺑ ﯼﺎﻫ ﻪﺨﺴﻧ

.ﺪﺷﺎﺑ ﺪﯿﻔﻣ ﻞﺒﻗ ﺯﺍ Matplotlib ﺎﺑ ﯽﯾﺎﻨﺷﺁ ﺖﺳﺍ ﻦﮑﻤﻣ ، ﺖﺴﯿﻧ ﯼﺭﻭﺮﺿ ﻪﭼﺮﮔﺍ .ﺩﺮﮐ ﺪﯿﻫﺍﻮﺧ

ﯼﺭﺎﮐ ﻂﯿﺤﻣ ﻢﯿﻈﻨﺗ

.ﺖﺳﺍ ﻥﻮﺘﯾﺎﭘ ﺩﺭﺍﺪﻧﺎﺘﺳﺍ ﻪﻧﺎﺨﺑﺎﺘﮐ ﺯﺍ ﯽﺸﺨﺑ ﻦﯾﺍ ﺍﺮﯾﺯ ﺖﺴﯿﻧ pathlib ﺐﺼ

.ﺩﺭﺍﺪﻧ ﻞﺧﺍﺪﺗ ﺎﻤﺷ ﺩﻮﺟﻮﻣ ﻥﻮﺘﯾﺎﭘ ﻂﯿﺤﻣ ﺭﺩ ﯼﺰﯿﭼ ﭻﯿﻫ ﺎﺑ ﺎﻤﺷ ﺵﺯﻮﻣﺁ ﯼﺯﺍﺪﻧﺍ ﻩﺍﺭ ﻪﮐ ﺪﯾﻮﺷ

.ﺖﺳﺍ ﻩﺪﺷ ﻪﺋﺍﺭﺍ Jupyter ﮎﻮﺑ ﺕﻮﻧ ﺖﻣﺮﻓ ﺎﺑ ﺵﺯﺭﻭ ﯼﺎﻫ ﻞﺣ ﻩﺍﺭ ﻭ ﺪﮐ ﯼﺮﯿﮔﺭﺎﺑ ﻞﺑﺎﻗ ﻪﺨﺴﻧ

:ﺖﺳﺍ ﻩﺪﺷ ﻩﺩﺍﺩ ﻥﺎﺸﻧ ﺮﯾﺯ ﺭﺩ ﮎﺮﺘﺸﻣ ﯼﺎﻫ ﻞﻣﺎﻋ ﻢﺘﺴﯿﺳ ﯼﻭﺭ ﺮﺑ ﺩﺭﺍﻮﻣ ﻢﯿﻈﻨﺗ ﺕﺍﺭﻮﺘﺳﺩ

:ﺖﺳﺍ Linux + macOS ﯼﺍﺮﺑ ﻡﻭﺩ ﺪﮐ ﻪﻌﻄﻗ ﻭ ﺩﻮﺷ ﻩﺩﺎﻔﺘﺳﺍ ﺯﻭﺪﻨﯾﻭ ﺭﺩ ﺪﯾﺎﺑ ﻝﻭﺍ ﺪﮐ ﻪﻌﻄﻗ

:ﺪﯿﻨﮐ ﭗﯾﺎﺗ ﺍﺭ ﺮﯾﺯ ﺕﺍﺭﻮﺘﺳﺩ ﻻﺎﺣ .ﺪﯿﻨﮐ ﻦﺷﻭﺭ ﺍﺭ Terminal(Admin) ﺎﯾ

PS> python -m venv venv\
PS> venv\Scripts\activate
(venv) PS> python -m pip install numpy matplotlib jupyterlab
(venv) PS> jupyter lab

.ﺪﯿﻨﮐ ﯽﻣ ﯼﺯﺍﺪﻧﺍ ﻩﺍﺭ ﺍﺭ JupyterLab ،ﺖﯾﺎﻬﻧ ﺭﺩ .ﺪﯿﻨﮐﯽﻣ ﺐﺼﻧ ﺍﺭ ﯼﺭﺎﯿﺘﺧﺍ

:ﺪﯿﻨﮐ ﭗﯾﺎﺗ ﺍﺭ ﺮﯾﺯ ﺕﺍﺭﻮﺘﺳﺩ ﻭ ﺪﯿﻨﮐ ﯼﺯﺍﺪﻧﺍ ﻩﺍﺭ ﺍﺭ ﻝﺎﻨﯿﻣﺮﺗ ﮏﯾ

$ python -m venv venv/
$ source venv/bin/activate
(venv) $ python -m pip install numpy matplotlib jupyterlab
(venv) $ jupyter lab

.ﺪﯿﻨﮐ ﯽﻣ ﯼﺯﺍﺪﻧﺍ ﻩﺍﺭ ﺍﺭ JupyterLab ،ﺖﯾﺎﻬﻧ ﺭﺩ .ﺪﯿﻨﮐﯽﻣ ﺐﺼﻧ ﺍﺭ ﯼﺭﺎﯿﺘﺧﺍ

.ﺪﯿﺷﺎﺑ ﺍﺪﺟ ﺪﯾﺭﺍﺩ ﺮﮕﯾﺩ ﯼﺎﺟ ﺭﺩ ﻪﮐ ﻥﻮﺘﯾﺎﭘ ﯼﺎﻫﺭﺎﮐ ﺮﯾﺎﺳ ﺯﺍ ﻭ ﺪﯿﻧﺎﻤﺑ ﻂﯿﺤﻣ ﻦﯾﺍ ﺭﺩ ، ﺪ

.ﺪﯿﻨﮐ ﺯﺎﻏﺁ ﺍﺭ ﺩﻮﺧ ﯼﺮﯿﮔﺩﺎﯾ ﺮﻔﺳ ﯽﻠﺻﺍ ﺶﺨﺑ ﻪﮐ ﺖﺳﺍ ﻥﺁ ﺖﻗﻭ ،ﺪﯾﺍ ﻩﺩﺮﮐ ﻩﺩﺎﻣﺁ ﺍﺭ ﺰﯿﭼ ﻪﻤ

Numpy ﺎﻫ ﻩﺪﻧﻭﺮﭘ ﺯﺍ ﯼﺪﻌﺑ ﺪﻨﭼ ﯼﺎﻫ ﻪﯾﺍﺭﺁ ﺩﺎﺠﯾﺍ :1 ﻝﺎﺜﻣ

.ﺪﯾﺁ ﯽﻣ ﺶﯿﭘ ﯽﻠﮑﺸﻣ ،ﺪﯾﺭﺍﺩ ﺩﻮﺧ ﻪﯾﺍﺭﺁ ﺵﺮﺘﺴﮔ ﻪﺑ ﺯﺎﯿﻧ ﻪﮐ ﯽﻧﺎﻣﺯ ﺎﻣﺍ ،ﺖﺳﺍ ﺏﻮﻠﻄﻣ ﺭﺎﯿﺴﺑ

.ﺪﺷﺎﺑ ﻥﺁ ﺎﺑ ﻂﺒﺗﺮﻣ ﺮﯿﻏ ﯼﺍﻮﺘﺤﻣ ﯼﺍﺭﺍﺩ ﺖﺳﺍ ﻦﮑﻤﻣ ﯽﻠﺻﺍ ﻪﯾﺍﺭﺁ ﺍﺮﯾﺯ ﺖﺳﺍ ﻡﺯﻻ ، ﺖﺷﺍﺩ ﺪﻫﺍ

:ﺪﯿﻧﺎﺳﺮﺑ ﻞﻗﺍﺪﺣ ﻪﺑ ﻪﻠﺣﺮﻣ ﻭﺩ ﻦﯾﺍ ﺎﺑ ﺍﺭ ﻥﺁ ﺕﺍﺮﺛﺍ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ﺎﻣﺍ ، ﺖﺳﺍ ﻩﺪﺷ ﻪﺘﺧﺎﺳ Nu

  1. .ﺪﯿﻨﮐ ﺩﺎﺠﯾﺍ ﯽﺗﺎﻣﺪﻘﻣ ﺕﺭﻮﺻ ﻪﺑ ﺍﺭ ﺩﻮﺧ ﻪﯾﺍﺭﺁ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ، ﺪﯿﻧﺍﺪﺑ ﺍﺭ ﺎﻫ ﻩﺯﺍﺪﻧﺍ ﻦﯾﺍ ﻪ

  2. .ﺪﻧﻮﺷ ﯽﻣ ﻞﻘﺘﻨﻣ ﺎﻤﺷ ﺩﻮﺟﻮﻣ ﻪﯾﺍﺭﺁ ﻪﺑ ﻥﺁ ﺵﺮﺘﺴﮔ ﻪﺑ ﺯﺎﯿﻧ ﻥﻭﺪﺑ ﺎﻫ ﻩﺩﺍﺩ ﻦﯾﺍ .ﺖﺳﺍ ﻊﺒﻨﻣ

.ﺩﺮﮐ ﺪﯿﻫﺍﻮﺧ ﯽﺳﺭﺮﺑ ﺍﺭ NumPy ﯼﺪﻌﺑ ﻪﺳ ﻪﯾﺍﺭﺁ ﮏﯾ ﻥﺩﺮﮐ ﺮﭘ ﻩﻮﺤﻧ ،ﺪﻌﺑ ﻪﻠﺣﺮﻣ ﺭﺩ

ﻩﺪﻧﻭﺮﭘ ﯼﺎﻫ ﻩﺩﺍﺩ ﺎﺑ ﻩﺪﺷ ﻊﻤﺟ ﯼﺎﻫ ﻪﯾﺍﺭﺁ

:ﺩﺮﮐ ﺪﯿﻫﺍﻮﺧ ﺍﺪﯿﭘ ﺰﯿﻧ ﯼﺮﯿﮔﺭﺎﺑ ﻞﺑﺎﻗ ﺩﺍﻮﻣ ﺭﺩ ﺍﺭ ﺎﻫ ﻩﺪﻧﻭﺮﭘ ﻦﯾﺍ ﻦﯿﻨﭽﻤﻫ ﻭ ، ﺖﺳﺍ ﻩﺪﺷ

:ﺖﺳﺍ ﺮﯾﺯ ﯼﺍﻮﺘﺤﻣ ﺎﺑ ﻥﻮﺘﺳ ﻪﺳ ﻭ ﻒﯾﺩﺭ ﻭﺩ ﯼﺍﺭﺍﺩ ﻝﻭﺍ ﻩﺪﻧﻭﺮﭘ

1.1, 1.2, 1.3
1.4, 1.5, 1.6

:ﺖﺳﺍ ﺩﺭﺍﻮﻣ ﻦﯾﺍ ﻞﻣﺎﺷ ، ﺖﺳﺍ ﻪﺑﺎﺸﻣ ﺩﺎﻌﺑﺍ ﯼﺍﺭﺍﺩ ﻪﮐ ، ﻡﻭﺩ ﻩﺪﻧﻭﺮﭘ ﻦﯾﺍ

2.1, 2.2, 2.3
2.4, 2.5, 2.6

:ﺪﻨﮐ ﯽﻣ ﻩﺮﯿﺧﺫ ﺍﺭ ﺩﺍﺪﻋﺍ ﻦﯾﺍ ،ﺩﺎﻌﺑﺍ ﻥﺎﻤﻫ ﺎﺑ ﻩﺭﺎﺑﻭﺩ ،ﻡﻮﺳ ﻞﯾﺎﻓ

3.1, 3.2, 3.3
3.4, 3.5, 3.6

.ﺩﺮﮐ ﺪﯿﻫﺍﻮﺧ ﺭﺎﮐ ﻦﯾﺍ ﺎﺑ ﺍًﺪﻌﺑ ﻭ ، ﺪﻨﺘﺴﻫ file11.csv ﻭ file1

:ﺪﻫﺩ ﯽﻣ ﻥﺎﺸﻧ ﺪﯿﻨﮐ ﯽﻣ ﺩﺎﺠﯾﺍ ﻩﺪﻧﻭﺮﭘ ﻪﺳ ﺯﺍ ﻪﮐ ﺍﺭ ﻞﺻﺎﺣ numpy ﻪﯾﺍﺭﺁ ﺮﯾﺯ ﺭﺍﺩﻮﻤﻧ

ﺖﺸﮔﺮﺑ ﺖﻤﺴﻗ ﺭﺩ file3.csv ﻭ ﯽﻧﺎﯿﻣ ﺶﺨﺑ file2.csv ،ﺪﻫﺩ ﯽ

:ﺪﯿﻨﮐ ﺍﺮﺟﺍ ﺍﺭ ﻥﺁ ﺲﭙﺳ ، ﺪﯿﻫﺩ ﺭﺍﺮﻗ ﺪﯿﻨﮐ ﯽﻣ ﺍﺮﺟﺍ ﻥﺁ ﺭﺩ ﺍﺭ ﺩﻮﺧ ﺪﮐ ﻪﮐ ﯼﺭﻮﺘﮐﺮﯾﺍﺩ ﻥﺎﻤ

>>> from pathlib import Path
>>> import numpy as np

>>> array = np.zeros((3, 2, 3))
>>> print(id(array))
2250027286128

>>> for file_count, csv_file in enumerate(Path.cwd().glob("file?.csv")):
...     array[file_count] = np.loadtxt(csv_file.name, delimiter=",")
...
>>> print(id(array))
2250027286128

>>> print(array.shape)
(3, 2, 3)

>>> array
array([[[1.1, 1.2, 1.3],
        [1.4, 1.5, 1.6]],

       [[2.1, 2.2, 2.3],
        [2.4, 2.5, 2.6]],

       [[3.1, 3.2, 3.3],
        [3.4, 3.5, 3.6]]])

.ﺪﯿﻨﯿﺒﺑ ﺍﺭ ﻉﻮﺿﻮﻣ ﻦﯾﺍ ﺩﻮﺑ ﺪﯿﻫﺍﻮﺧ ﺭﺩﺎﻗ ﻭ ﺪﯾﺯﺍﺪﻨﯿﺑ ﺭﺍﺩﻮﻤﻧ ﻪﺑ ﺮﮕﯾﺩ ﯽﻫﺎﮕﻧ .ﺩﻮﺑ ﺪﻫﺍﻮ

.ﺩﻮﺷ ﯽﻣ ﻩﺩﺎﻔﺘﺳﺍ ﺪﮐ ﺭﺩ ﺍًﺪﻌﺑ ﯽﮔﮋﯾﻭ ﻦﯾﺍ .ﺪﯿﻫﺩ ﻡﺎﺠﻧﺍ ﺩﻮﺧ ﻞﻣﺎﻋ ﻢﺘﺴﯿﺳ ﻪﺑ ﺍﺭ ﻢﺘﺴﯿﺳ ﯼﺎ

.ﺪﯿﻨﮐ ﯽﻣ ﺩﺎﺠﯾﺍ ، ﺪﯾﺍ ﻩﺩﺮﮐ ﻦﯿﯿﻌﺗ ﻼًﺒﻗ ﻪﮐ ﺭﻮﻄﻧﺎﻤﻫ ﺍﺭ (3 ، 2 ، 3)

.ﺩﻮﺷﯽﻣ ﻩﺮﯿﺧﺫ file_count ﺮﯿﻐﺘﻣ ﺭﺩ ﯽﺸﯾﺍﺰﻓﺍ ﻩﺪﻧﺭﺎﻤﺷ ﻪﮐ ﯽﻟﺎﺣ ﺭﺩ

.ﺪﯿﻨﮐ ﺺﺨﺸﻣ ﺍﺭ ﺪﯿﺷﺎﺑ ﻪﺘﺷﺍﺩ ﯽﺳﺮﺘﺳﺩ ﺎﻬﻧﺁ ﻪﺑ ﺪﯿﻫﺍﻮﺧ ﯽﻣ ﻪﮐ ﯽﯾﺎﻫ ﻞﯾﺎﻓ ﻡﺎﻧ ﺎﺗ ﺪﯿﻨﮐ ﯽﻣ

.(؟) ﺖﺳﺍ ﻩﺪﺷ ﺺﺨﺸﻣ ﻡﺎﻋ ﺮﺘﮐﺍﺭﺎﮐ ﻂﺳﻮﺗ ﻪﮐ ﺭﻮﻄﻧﺎﻤﻫ ،ﺪﺷﺎﺑ ﯼﺮﺘﮐﺍﺭﺎﮐ ﺮﻫ

.ﺖﺧﻮﻣﺁ ﺪﯿﻫﺍﻮﺧ ﺮﺘﺸﯿﺑ ﻥﺁ ﻞﺣ ﻩﻮﺤﻧ ﻭ ﻞﮑﺸﻣ ﻦﯾﺍ ﺖﻠﻋ ﻩﺭﺎﺑﺭﺩ ﺍًﺪﻌﺑ .ﺪﺷ ﯽﻣ ﻩﺪﻧﺍﻮﺧ ﻩﺎﺒﺘﺷﺍ

>>> for csv_file in sorted(Path.cwd().glob("file?.csv")):
...     print(csv_file.name)
...
file1.csv
file2.csv
file3.csv

.ﺖﺴﯿﻧ ﯽﻓﺎﮐ ﻩﺪﺷ ﯼﺭﺍﺬﮔ ﻩﺭﺎﻤﺷ ﯼﺎﻫ ﻩﺪﻧﻭﺮﭘ ﺎﺑ ﺭﺎﮐ ﻡﺎﮕﻨﻫ ﻪﺸﯿﻤﻫ ﯼﺯﺎﺳ ﺐﺗﺮﻣ ﻉﻮﻧ ﻦﯾﺍ ، ﺪ

.ﺩﻮﺷ ﯽﻣ ﻩﺩﺍﺩ ﺹﺎﺼﺘﺧﺍ ﺪﯾﺩﺮﮐ ﺩﺎﺠﯾﺍ ﻼﺒﻗ ﻪﮐ ﻪﯾﺍﺭﺁ ﻪﺑ ﻞﯾﺎﻓ ﺮﻫ ﯼﺍﻮﺘﺤﻣ ﺲﭙ

.ﺖﺳﺍ ﻩﺩﺎﺘﻓﺍ ﯽﻗﺎﻔﺗﺍ ﻪﭼ ﻪﮐ ﺪﯾﺩ ﺪﯿﻫﺍﻮﺧ ﺎًﻘﯿﻗﺩ ﻭ ﺪﯿﻨﮐ ﻩﺎﮕﻧ ﺭﺍﺩﻮﻤﻧ ﻪﺑ ﺮﮕﯾﺩ ﺭﺎﺑ ﮏﯾ .<

.ﺩﻮﺑ ﺪﻨﻫﺍﻮﺧ ﺕﻭﺎﻔﺘﻣ ﻩﺪﺷ ﻩﺩﺍﺩ ﻥﺎﺸﻧ ﺩﺍﺪﻋﺍ ﺎﺑ ﻻًﺎﻤﺘﺣﺍ ﺎﻣﺍ ،ﺩﻮﺑ ﺪﻨﻫﺍﻮﺧ ﻥﺎﺴﮑﯾ ﺮﮕﯾﺪﮑﯾ

.ﺩﻮﺷ ﯽﻣ ﻩﺩﺎﻔﺘﺳﺍ ﺪﻣﺁﺭﺎﮐ ﺭﻮﻃ ﻪﺑ ﻪﻈﻓﺎﺣ ﺯﺍ ﻭ ﻩﺪﺷ ﻩﺩﺎﻔﺘﺳﺍ ﻞﮐ ﺭﺩ ءﯽﺷ ﮏﯾ ﻂﻘﻓ ﻪﮐ ﺪﻫﺩ ﯽ

.ﺩﺮﮐ ﺪﯿﻫﺍﻮﺧ ﯽﺳﺭﺮﺑ ﺍﺭ ﺪﻨﺘﺴﯿﻧ ﺖﺧﺍﻮﻨﮑﯾ ﻼًﻣﺎﮐ ﺎﻤﺷ ﻩﺩﺍﺩ ﯼﺎﻫ ﻞﯾﺎﻓ ﻪﮐ ﯽﻄﯾﺍﺮﺷ ﺎﺑ ﺩﺭﻮﺧﺮﺑ

ﻒﻠﺘﺨﻣ ﯼﺎﻫ ﻩﺩﺍﺩ ﻩﺯﺍﺪﻧﺍ ﺎﺑ ﺩﺭﻮﺧﺮﺑ

:ﺩﺭﺍﺩ ﺪﺣﺍﻭ ﻒﯾﺩﺭ ﮏﯾ ﻂﻘﻓ ﻪﮐ ، ﺩﺮﮐ ﺪﯿﻫﺍﻮﺧ ﺍﺪﯿﭘ short_file.csv ﻡﺎﻧ

4.1, 4.2, 4.3

:ﺖﺳﺍ ﻩﺪﻣﺁ ﺮﯾﺯ ﺭﺩ ﻪﮐ ﺭﻮﻄﻧﺎﻤﻫ ﺪﯿﻨﮐ ﻪﻓﺎﺿﺍ ﺩﻮﺧ ﻪﯾﺍﺭﺁ ﺖﺸﭘ ﻪﺑ ﺍﺭ ﻥﺁ ﺪﯿﻫﺍﻮﺧ ﯽﻣ ﺎﻤﺷ

:ﺪﯿﻨﮐ ﻪﻓﺎﺿﺍ ،ﺪﯿﻨﮐ ﯽﻣ ﺍﺮﺟﺍ ﺍﺭ ﺩﻮﺧ ﺪﮐ ﻪﮐ ﯽﺘﺳﺮﻬﻓ ﻥﺎﻤﻫ ﺭﺩ ﺎﯾ ﻩﺩﺮﮐ ﺩﻮﻠﻧﺍﺩ ﺍﺭ

>>> array = np.zeros((4, 2, 3))

>>> for file_count, csv_file in enumerate(Path.cwd().glob("file?.csv")):
...     array[file_count] = np.loadtxt(csv_file.name, delimiter=",")
...
>>> array[3, 0] = np.loadtxt("short_file.csv", delimiter=",")

>>> array
array([[[1.1, 1.2, 1.3],
        [1.4, 1.5, 1.6]],

       [[2.1, 2.2, 2.3],
        [2.4, 2.5, 2.6]],

       [[3.1, 3.2, 3.3],
        [3.4, 3.5, 3.6]],

       [[4.1, 4.2, 4.3],
        [0. , 0. , 0. ]]])

.ﺪﯿﻨﮐ ﺩﺎﺠﯾﺍ 1 ﻂﺧ ﺭﺩ ﺍﺭ ﻦﯾﺍ ﻦﯾﺍﺮﺑﺎﻨﺑ ،ﺪﯾﺭﺍﺩ ﺯﺎﯿﻧ 0 ﺭﻮﺤﻣ ﺩﺍﺪﺘﻣﺍ ﺭﺩ ﯽﻓﺎﺿﺍ ﺪﻌﺑ ﮏﯾ

.ﺖﺳﺍ ﺕﻭﺎﻔﺘﻣ ﺰﯿﭼ ﻪﻤﻫ ﺭﺎﺑ ﻦﯾﺍ ،ﻝﺎﺣ ﻦﯾﺍ ﺎﺑ .ﺩﺮﮐﯽﻣ ﺮﭘ ﺖﯿﻌﻗﻮﻣ ﻥﺁ ﺭﺩ ﺍﺭ ﺩﻮﺟﻮﻣ ﻪ

.ﺎﻫ ﻩﺩﺍﺩ ﯼﺮﯿﮔﺭﺍﺮﻗ ﻞﺤﻣ ﻥﺪﯾﺩ ﯼﺍﺮﺑ ﺭﺍﺩﻮﻤﻧ ﺭﺩ ﺲﭙﺳ ﻭ ﻪﻣﺎﻧﺮﺑ ﯽﺟﻭﺮﺧ 19 ﻭ 18 ﻁﻮﻄﺧ ﺭﺩ .

.ﺩﻮﺒﻧ ﻡﺯﻻ ﺪﻣﺁﺭﺎﮐﺎﻧ ﯽﭙﮐ ﭻﯿﻫ ، ﯽﺗﺎﻣﺪﻘﻣ ﻪﯾﺍﺭﺁ ﺩﺎﺠﯾﺍ ﻞﯿﻟﺩ ﻪﺑ ، ﺩﺮﮐ ﻪﻓﺎﺿﺍ ﻥﺁ ﻪﺑ ﺍﺭ

:ﺩﺭﺍﺩ ﯽﻓﺎﺿﺍ ﻒﯾﺩﺭ ﮏﯾ ﻪﮐ ، ﺩﺮﮐ ﺪﯿﻫﺍﻮﺧ ﻩﺩﺎﻔﺘﺳﺍ long_file.csv ﻡﺎﻧ ﻪ

4.1, 4.2, 4.3
4.4, 4.5, 4.6
4.7, 4.8, 4.9

:ﺪﺑﺎﯾ ﺵﺮﺘﺴﮔ ﯽﻓﺎﺿﺍ ﻒﯾﺩﺭ ﮏﯾ ﻂﺳﻮﺗ ﺪﯾﺎﺑ ﻥﺁ ﻥﺎﮑﺳﺍ ﯼﺍﺮﺑ ﺎﻫ ﻪﯾﺍﺭﺁ ﻪﯿﻘﺑ ، ﺪﯿﻨﯿﺑ ﯽﻣ ﺭﺍﺩ

:ﺪﯿﻨﮐ ﺩﺎﺠﯾﺍ ﺎﯾ ﻩﺩﺮﮐ ﺩﻮﻠﻧﺍﺩ ،ﺪﯿﻨﮐ ﯽﻣ ﺍﺮﺟﺍ ﺍﺭ ﺩﻮﺧ ﺪﮐ ﻪﮐ ﯼﺭﻮﺘﮐﺮﯾﺍﺩ ﻥﺎﻤﻫ ﺭﺩ ﺍﺭ

>>> array = np.zeros((4, 2, 3))

>>> print(id(array))
2250027278352

>>> for file_count, csv_file in enumerate(Path.cwd().glob("file?.csv")):
...     array[file_count] = np.loadtxt(csv_file.name, delimiter=",")
...
>>> array = np.insert(arr=array, obj=2, values=0, axis=1)

>>> array[3] = np.loadtxt("long_file.csv", delimiter=",")

>>> print(id(array))
2250027286224

>>> array
array([[[1.1, 1.2, 1.3],
        [1.4, 1.5, 1.6],
        [0. , 0. , 0. ]],

       [[2.1, 2.2, 2.3],
        [2.4, 2.5, 2.6],
        [0. , 0. , 0. ]],

       [[3.1, 3.2, 3.3],
        [3.4, 3.5, 3.6],
        [0. , 0. , 0. ]],

       [[4.1, 4.2, 4.3],
        [4.4, 4.5, 4.6],
        [4.7, 4.8, 4.9]]])

.ﺪﯿﻨﮐ ﺝﺭﺩ ﺭﻮﺤﻣ ﮏﯾ ﺩﺍﺪﺘﻣﺍ ﺭﺩ ﺍﺭ ﺮﯾﺩﺎﻘﻣ ﺪﻫﺩ ﯽﻣ ﻥﺎﮑﻣﺍ ﺎﻤﺷ ﻪﺑ ﻪﮐ ﺖﺳﺍ ﯽﻌﺑﺎﺗ ﻪﮐ ،ﺪﯿﻫ

.ﺪﯿﻨﮐ ﯽﻣ ﻩﺩﺎﻔﺘﺳﺍ ﺖﺳﺍ ﻩﺪﺷ ﻩﺩﺍﺩ ﻥﺎﺸﻧ 11 ﻂﺧ ﺭﺩ ﻪﮐ ﺭﻮﻄﻧﺎﻤﻫ loadtxt()

.ﺪﻨﮐ ﯽﻣ ﺭﺎﮐ ﺩﻭﺭ ﯽﻣ ﺭﺎﻈﺘﻧﺍ ﻪﮐ ﺭﻮﻄﻧﺎﻤﻫ ﺰﯿﭼ ﻪﻤﻫ ﻪﮐ ﺪﯾﺩ ﺪﯿﻫﺍﻮﺧ ﻭ ﺪﯿﻨﮐ ﻩﺎﮕﻧ ﺩﻮﺧ ﺪﮐ

.ﺪﯾﺮﯿﮔ ﯽﻣ ﻩﺯﺍﺪﻧﺍ ﯽﺘﺳﺭﺩ ﻪﺑ ﺍﺭ ﺩﻮﺧ ﻪﯿﻟﻭﺍ ﻪﯾﺍﺭﺁ ﻪﮐ ﺪﯿﻨﮐ ﻞﺻﺎﺣ ﻥﺎﻨﯿﻤﻃﺍ ، ﻥﺁ ﻥﺩﺮﮐ ﻊﻤ

ﻩﺪﻧﻭﺮﭘ ﺵﺭﺎﻔﺳ ﺢﯿﺤﺻ ﺯﺍ ﻥﺎﻨﯿﻤﻃﺍ

.ﺪﯾﺭﺍﺩ ﺭﺎﻈﺘﻧﺍ ﺎﻤﺷ ﻪﮐ ﺖﺴﯿﻧ ﯼﺰﯿﭼ ، ﺪﻧﻮﺷ ﯽﻣ ﻩﺪﻧﺍﺩﺮﮔﺯﺎﺑ ﺭﻮﺗﺍﺮﻧﮊ ﻂﺳﻮﺗ ﺎﻫ ﻩﺪﻧﻭﺮﭘ ﻦﯾﺍ

:ﺪﯿﻨﮐ ﻪﻓﺎﺿﺍ ﺩﻮﺧ ﺩﻮﺟﻮﻣ ﻪﺷﻮﭘ ﻪﺑ ﺩﻮﻠﻧﺍﺩ ﻞﺑﺎﻗ ﺩﺍﻮﻣ ﺯﺍ ﺍﺭ file11.csv

10.1,10.2,10.3
10.4,10.5,10.6

:ﺩﺮﮐ ﺪﯿﻫﺍﻮﺨﻧ ﺐﺠﻌﺗ ،ﺩﺭﺍﺩ ﺩﻮﺟﻭ file11.csv ﺭﺩ ﻪﭽﻧﺁ ﻥﺪﯾﺩ ﺎﺑ ،ﺖﺳﺍ ﻦﯿﻨﭼ

11.1,11.2,11.3
11.4,11.5,11.6

:ﺪﯿﻨﮐ ﺍﺮﺟﺍ ﺍﺭ ﺮﯾﺯ ﺪﮐ ﻻﺎﺣ

>>> for csv_file in Path.cwd().glob("file*.csv"):
...     print(csv_file.name)
...
file1.csv
file10.csv
file11.csv
file2.csv
file3.csv

.ﺪﺳﺭ ﯽﻣ ﺮﻈﻧ ﻪﺑ ﻩﺎﺒﺘﺷﺍ ﯼﺰﯿﭼ ﺯﻮﻨﻫ ،ﻥﺪﺷ ﻪﻓﺎﺿﺍ ﻦﯾﺍ ﺎﺑ ﯽﺘﺣ .ﺪﻧﺪﺷﯽﻣ ﻩﺪﻧﺎﺠﻨﮔ ﺪﻨﺘ

.ﺖﺳﺍ ﺕﻭﺎﻔﺗ ﻥﺁ ﺱﺎﺳﺍ ﺮﺑ ﯼﺯﺎﺳ ﺐﺗﺮﻣ ، ﺭﺎﮐ ﻦﯾﺍ ﺯﺍ ﺲﭘ .ﺪﻨﮐ ﺍﺪﯿﭘ ﺕﻭﺎﻔﺗ ﻪﮐ ﯽﻧﺎﻣﺯ ﺎﺗ ﺪﻧ

.ﺪﻫﺩ ﯽﻣ ﻡﺎﺠﻧﺍ ﺎﻬﻧﺁ ﺯﺍ ﮏﯾ ﺮﻫ ﺪﮑﯿﻧﻮﯾ ﺮﺘﮐﺍﺭﺎﮐ ﺪﮐ ﻩﺭﺎﻤﺷ ﻦﺘﻓﺮﮔ ﺮﻈﻧ ﺭﺩ ﺎﺑ ﺍﺭ ﺭﺎﮐ ﻦﯾﺍ

.ﺪﻧﻮﺷﯽﻣ ﺐﺗﺮﻣ ﺪﻧﺭﺍﺩ ﺖﯿﻌﻗﻮﻣ ﻥﺎﻤﻫ ﺭﺩ 3 ﺎﯾ 2 ﻪﮐ ﯽﯾﺎ

.ﺩﻮﺑ ﺪﻫﺍﻮﺧ file11.csv ﺲﭙﺳ ﻭ file10.csv ﻥﺁ ﻝﺎﺒﻧﺩ ﻪﺑ ﻭ

:ﺪﻨﮐ ﯽﻣ ﮏﻤﮐ ﻦﯾﺍ ﺎﯾﺁ ﺪﯿﻨﯿﺒﺑ ﺎﺗ ﺪﯿﻨﮐ ﻥﺎﺤﺘﻣﺍ ﺍﺭ ﻥﻮﺘﯾﺎﭘ sorted() ﯽﻠﺧﺍ

>>> for csv_file in sorted(Path.cwd().glob("file*.csv")):
...     print(csv_file.name)
...
file1.csv
file10.csv
file11.csv
file2.csv
file3.csv

.ﺖﺳﺍ ﻩﺩﺍﺩ ﺎﻤﺷ ﻪﺑ ﺍﺭ ﻪﺘﺷﺬﮔ ﺪﻨﻧﺎﻣ ﺏﻮﻠﻄﻣﺎﻧ ﻪﺠﯿﺘﻧ () ﻩﺪﺷ ﺐﺗﺮﻣ ﺩﺮﮑﻠﻤ

:ﺖﺳﺍ ﻩﺪﺷ ﻩﺩﺍﺩ ﻥﺎﺸﻧ ﺪﮐ ﺮﯾﺯ ﺭﺩ .ﺪﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ ﻥﺁ ﺯﺍ ﺎﻫ ﻩﺪﻧﻭﺮﭘ ﺮﺗ ﯽﻌﯿﺒﻃ ﯼﺯﺎﺳ ﺐﺗﺮﻣ

>>> from natsort import natsorted

>>> for csv_file in natsorted(Path.cwd().glob("file*.csv")):
...     print(csv_file.name)
...
file1.csv
file2.csv
file3.csv
file10.csv
file11.csv

:ﺪﯿﻨﮐ ﻪﻓﺎﺿﺍ ﺩﻮﺧ ﻪﯾﺍﺭﺁ ﺢﯿﺤﺻ ﯼﺎﻫ ﻥﺎﮑﻣ ﺭﺩ ﺍﺭ ﻞﯾﺎﻓ ﺕﺎﯾﻮﺘﺤﻣ ﻭ ﺪﯾﺮﺒﺑ ﺮﺗﻮﻠﺟ ﻡﺪﻗ ﮏﯾ ﺍﺭ

>>> array = np.zeros((5, 2, 3))

>>> for file_count, csv_file in enumerate(
...     natsorted(Path.cwd().glob("file*.csv"))
... ):
...     array[file_count] = np.loadtxt(csv_file.name, delimiter=",")
...
>>> array
array([[[ 1.1,  1.2,  1.3],
        [ 1.4,  1.5,  1.6]],

       [[ 2.1,  2.2,  2.3],
        [ 2.4,  2.5,  2.6]],

       [[ 3.1,  3.2,  3.3],
        [ 3.4,  3.5,  3.6]],

       [[10.1, 10.2, 10.3],
        [10.4, 10.5, 10.6]],

       [[11.1, 11.2, 11.3],
        [11.4, 11.5, 11.6]]])

.ﺩﻮﺷ ﻢﻫﺍﺮﻓ ﺪﯾﺪﺟ ﯼﺎﻫ ﻩﺩﺍﺩ ﯼﺍﺮﺑ ﯽﯾﺎﻀﻓ ﺎﺗ ﺖﺳﺍ ﻪﺘﻓﺎﯾ ﺶﯾﺍﺰﻓﺍ (5 ، 2 ، 3)

.ﺖﺳﺍ ﻩﺪﺷ ﻪﺘﻓﺮﮔ ﺮﻈﻧ ﺭﺩ ﻒﻠﺘﺨﻣ ﯼﺎﻫ ﻩﺯﺍﺪﻧﺍ ﻪﮐ ﺪﯾﻮﺷ ﻦﺌﻤﻄﻣ ﺪﯾﺎﺑ ﺎﻤﺷ ،ﻝﺎﺣ ﻦﯾﺍ ﺎﺑ .ﺖﺳﺍ

.ﺪﻨﮐ ﮏﻤﮐ ﺩﻮﺧ ﯼﺮﯿﮔﺩﺎﯾ ﻡﺎﻏﺩﺍ ﺭﺩ ﺎﻤﺷ ﻪﺑ ﺎﺗ ﺩﺭﺍﺩ ﺩﻮﺟﻭ ﺵﺯﻮﻣﺁ ﻦﯾﺍ ﺭﺩ ﻪﮐ ﺖﺳﺍ ﻦﯾﺮﻤﺗ ﻦﯾ

ﻞﯾﺎﻓ ﯼﺎﻫ ﻩﺩﺍﺩ ﺎﺑ ﺎﻫ ﻪﯾﺍﺭﺁ ﻥﺩﺮﮐ ﺮﭘ :ﺩﻮﺧ ﯼﺎﻫ ﺕﺭﺎﻬﻣ ﺖﺴﺗ

:ﺪﯿﻨﮐ ﻞﺣ ﺖﺳﺍ ﻩﺪﺷ ﻩﺩﺍﺩ ﻥﺎﺸﻧ ﺮﯾﺯ ﺭﺩ ﻪﮐ ﺍﺭ ﺩﻮﺧ ﺶﻟﺎﭼ ﻦﯿﻟﻭﺍ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ﺎﯾﺁ ﺪﯿﻨﯿﺒﺑ .

.ﺪﯿﻨﮐ ﺝﺭﺩ ﻥﻮﺘﺳ ﮏﯾ ﻥﺍﻮﻨﻋ ﻪﺑ ﺍﺭ ex1c.csv ﯼﺍﻮﺘﺤﻣ ﻭ ﻒﯾﺩﺭ ﮏﯾ ﻥﺍﻮﻨﻋ ﻪﺑ

:ﻦﮑﻤﻣ ﻞﺣ ﻩﺍﺭ ﮏﯾ

>>> import numpy as np
>>> from pathlib import Path

>>> array = np.zeros((3, 4, 4), dtype="i8")

>>> array[0] = np.loadtxt("ex1a.csv", delimiter=",")

>>> narrow_array = np.loadtxt("ex1b.csv", delimiter=",")
>>> narrow_array = np.insert(arr=narrow_array, values=0, obj=3, axis=0)
>>> array[1, 0] = narrow_array

>>> short_array = np.loadtxt("ex1c.csv", delimiter=",")
>>> short_array = np.insert(arr=short_array, values=0, obj=3, axis=0)
>>> array[2, :, 0] = short_array

>>> array
array([[[ 5, 10, 15, 20],
        [25, 30, 35, 40],
        [45, 50, 55, 60],
        [65, 70, 75, 80]],

       [[ 1,  3,  5,  0],
        [ 0,  0,  0,  0],
        [ 0,  0,  0,  0],
        [ 0,  0,  0,  0]],

       [[ 2,  0,  0,  0],
        [ 4,  0,  0,  0],
        [ 6,  0,  0,  0],
        [ 0,  0,  0,  0]]])

.ﺖﺳﺍ ﻞﮑﺷ ﺎﺑ ﺐﺳﺎﻨﺘﻣ ﻪﮐ ، .ﺪﯿﻫﺩ ﯽﻣ ﺹﺎﺼﺘﺧﺍ ex1a.csv ﻩﺪﻧﻭﺮﭘ ﯼﺍﻮﺘﺤﻣ

[0 ، 1] ﺪﯿﻫﺩ ﯽﻣ ﺭﺍﺮﻗ ﻪﯾﺍﺭﺁ ﺯﺍ ﻩﺩﺎﻔﺘﺳﺍ ﺎﺑ ﺩﻮﺧ ﺭﻮﺤﻣ 0 ﺩﺍﺪﺘﻣﺍ ﺭﺩ <

.ﻒﯾﺩﺭ ﮏﯾ ﺭﺩ ﻪﻧ ﻭ ﻥﻮﺘﺳ ﻦﯿﻟﻭﺍ ﻦﯿﯾﺎﭘ ﺖﺳﺍ ﻩﺪﺷ ﺝﺭﺩ ﻪﮐ ﺖﺳﺍ ﯽﻨﻌﻣ ﻦﯾﺍ ﻪﺑ

.ﺪﯿﻨﮐ ﺩﺭﺍﻭ [2 ، 0: 3 ، 0] ﻪﯾﺍﺭﺁ ﺭﺩ ﺍﺭ 0 ،

.ﺖﻓﺮﮔ ﺪﯿﻫﺍﻮﺧ ﺩﺎﯾ ﻒﻠﺘﺨﻣ ﯼﺎﻫ ﻪﯾﺍﺭﺁ ﻦﯿﺑ ﯼﺎﻫ ﺕﻭﺎﻔﺗ ﯽﺘﺷﺁ ﯼﺍﺮﺑ ﺎﻬﻧﺁ ﺯﺍ ﻩﺩﺎﻔﺘﺳﺍ ﻩﻮﺤﻧ

NumPy ﻪﺘﻓﺎﯾ ﺖﺧﺎﺳ ﯼﺎﻫ ﻪﯾﺍﺭﺁ ﺯﺍ ﻩﺩﺎﻔﺘﺳﺍ ﺎﺑ ﺎﻫ ﻩﺩﺍﺩ ﻖﯿﺒﻄﺗ :2 ﻝﺎﺜﻣ

.ﺪﯿﻫﺩ ﻡﺎﺠﻧﺍ ﻪﺘﻓﺎﯾ ﺖﺧﺎﺳ ﻪﯾﺍﺭﺁ ﮏﯾ ﺩﺎﺠﯾﺍ ﺎﺑ ﺍﺭ ﺭﺎﮐ ﻦﯾﺍ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ﺎﻤﺷ !ﺏﻮﺧ ﺮﺒﺧ .ﺪﯿ

ﻪﺘﻓﺎﯾﺭﺎﺘﺧﺎﺳ ﻪﯾﺍﺭﺁ ﮏﯾ ﺩﺎﺠﯾﺍ

.ﺪﯿﻨﮐ ﺡﻼﺻﺍ ﻭ ﻩﺩﺮﮐ ﺍﺪﯿﭘ ﯽﺳﺮﺘﺳﺩ ﻪﻧﺎﮔﺍﺪﺟ ﺖﻤﺴﻗ ﺮﻫ ﻪﺑ ﻥﺁ ﺪﻠﯿﻓ ﻡﺎﻧ ﺯﺍ ﻩﺩﺎﻔﺘﺳﺍ ﺎﺑ ﺪﯿﻧ

:ﺪﻫﺩ ﯽﻣ ﻪﺋﺍﺭﺍ ﺍﺭ ﻪﺘﻓﺎﯾ ﺭﺎﺘﺧﺎﺳ NumPy ﻪﯾﺍﺭﺁ ﮏﯾ ﻪﺑ ﻉﺎﺟﺭﺍ ﻭ ﺩﺎﺠﯾﺍ ﻩﻮﺤﻧ ﺯﺍ ﯼﺍ ﻪﻧﻮﻤﻧ

>>> import numpy as np

>>> race_results = np.array(
...     [
...         ("At The Back", 1.2, 3),
...         ("Fast Eddie", 1.3, 1),
...         ("Almost There", 1.1, 2),
...     ],
...     dtype=[
...         ("horse_name", "U12"),
...         ("price", "f4"),
...         ("position", "i4"),
...     ],
... )

>>> race_results["horse_name"]
array(['At The Back', 'Fast Eddie', 'Almost There'], dtype='<U12')

>>> np.sort(race_results, order="position")[
...     ["horse_name", "price"]
... ]
array([('Fast Eddie', 1.3), ('Almost There', 1.1), ('At The Back', 1.2)],
      dtype={'names': ['horse_name', 'price'],
      ⮑ 'formats': ['<U12', '<f4'],
      ⮑ 'offsets': [0, 48], 'itemsize': 56})

>>> race_results[race_results["position"] == 1]["horse_name"]
array(['Fast Eddie'], dtype='<U12')

.ﺪﯿﻨﮐ ﯽﺳﺭﺮﺑ ﺍﺭ ﺮﮕﯾﺩ ﺩﺪﻋ ﻭﺩ ﻖﯾﺮﻃ ﻦﯾﺍ ﺯﺍ ﺎﺗ ﺪﯿﻨﮐ ﺵﻼﺗ ﯽﻤﮐ ﺖﺳﺍ ﻦﮑﻤﻣ ﺎﻣﺍ ، ﺪﯿﻨﮐ ﺏﺎﺨ

ﺐﯿﺗﺮﺗ ﻪﺑ .ﺪﻨﻨﮐ ﯽﻣ ﺺﺨﺸﻣ ﺍﺭ ﯽﺘﯾﺎﺑ 4 ﺢﯿﺤﺻ ﺩﺪﻋ ﻭ ﺭﻭﺎﻨﺷ ﺰﯿﻤﻣ ﯼﺎﻫ ﺖﻣﺮﻓ

.ﺪﯾﺩﺮﮐ ﺏﺎﺨﺘﻧﺍ ﺍﺭ ﻩﺪﻧﺮﺑ ﺐﺳﺍ ﻡﺎﻧ 27 ﻂﺧ ﺭﺩ ﺖﯾﺎﻬﻧ ﺭﺩ .ﺩﻮﺷ ﻩﺩﺍﺩ ﻥﺎﺸﻧ price

ﻒﻠﺘﺨﻣ ﯼﺎﻫ ﻪﯾﺍﺭﺁ ﻥﺩﺍﺩ ﯽﺘﺷﺁ

.ﺩﻮﺷ ﯽﻣ ﻩﺩﺎﻔﺘﺳﺍ ﺎﺠﻨﯾﺍ ﺭﺩ ﻩﺩﺎﻔﺘﺳﺍ ﺩﺭﻮﻣ ﻝﺎﺼﺗﺍ ﻒﯾﺮﻌﺗ ﯼﺍﺮﺑ inner ﺡﻼﻄﺻﺍ .ﺩ

. cashed_checks.csv issed_checks.csv :ﺩﺮﮐ ﺪﯿﻫﺍﻮ

:ﺪﻨﮐ ﯽﻣ ﯼﺯﺎﺳ ﻪﯿﺒﺷ ﻥﺁ ﻥﺍﺭﺎﮑﺒﻠﻃ ﻪﺑ ﺍﺭ ﺎﻤﺷ ﺕﺭﺎﺠﺗ ﻂﺳﻮﺗ ﻩﺪﺷ ﺭﺩﺎﺻ ﯼﺎﻫ ﮏﭼ ﺯﺍ ﯼﺍ ﻪﻋﻮﻤﺠ

Check_ID,Payee,Amount,Date_Issued
1341,K Starmer,150.00,2024-03-29
1342,R Sunak,175.00,2024-03-29
1343,L Truss,30.00,2024-03-29
1344,B Johnson,45.00,2024-03-22
1345,T May,65.00,2024-03-22
1346,D Cameron,430.00,2024-03-22
1347,G Brown,100.00,2024-03-15
1348,T Blair,250.00,2024-03-15
1349,J Major,500.00,2024-03-15
1350,M Thatcher,220.00,2024-03-15

:ﺪﻨﮐ ﯽﻣ ﯼﺯﺎﺳ ﻪﯿﺒﺷ ﺍﺭ ﺎﻤﺷ ﺭﺎﮐ ﻭ ﺐﺴﮐ ﻥﺍﺭﺎﮑﺒﻠﻃ ﻂﺳﻮﺗ ﻩﺪﺷ ﺪﻘﻧ ﯼﺎﻫ ﮏﭼ ﺯﺍ ﯼﺍ ﻪﻋﻮﻤﺠﻣ ﻞ

Check_ID,Amount,Date_Cashed
1341,150.00,2024-04-12
1342,175.00,2024-04-16
1343,30.00,2024-04-12
1345,65.00,2024-04-12
1346,430.00,2024-04-08
1349,500.00,2024-04-08
1350,220.00,2024-04-15

.ﺪﯾﺪﻧﻮﯿﭙﺑ ﻩﺪﻧﻭﺮﭘ ﻭﺩ ﺮﻫ ﻪﺑ ﻢﻫ ﺎﺑ ﺪﯾﺎﺑ ، ﺯﺎﯿﻧ ﺩﺭﻮﻣ ﯼﺎﻫ ﻩﺩﺍﺩ ﻡﺎﻤﺗ ﻥﺪﯾﺩ ﯼﺍﺮﺑ .ﺪﻨﺘﺴ

:ﺪﯿﻨﮐ ﺍﺮﺟﺍ ﺍﺭ ﺪﮐ ﻦﯾﺍ ﺲﭙﺳ ، ﺪﯿﻨﮐ ﻪﻓﺎﺿﺍ ﺩﻮﺧ ﻪﻣﺎﻧﺮﺑ ﻪﺷﻮﭘ ﻪﺑ ﺍﺭ cashed_chec

>>> import numpy.lib.recfunctions as rfn
>>> from pathlib import Path

>>> issued_dtypes = [
...     ("id", "i8"),
...     ("payee", "U10"),
...     ("amount", "f8"),
...     ("date_issued", "U10"),
... ]

>>> cashed_dtypes = [
...     ("id", "i8"),
...     ("amount", "f8"),
...     ("date_cashed", "U10"),
... ]

>>> issued_checks = np.loadtxt(
...     Path("issued_checks.csv"),
...     delimiter=",",
...     dtype=issued_dtypes,
...     skiprows=1,
... )

>>> cashed_checks = np.loadtxt(
...     Path("cashed_checks.csv"),
...     delimiter=",",
...     dtype=cashed_dtypes,
...     skiprows=1,
... )

>>> cashed_check_details = rfn.rec_join(
...     "id",
...     issued_checks,
...     cashed_checks,
...     jointype="inner",
... )

>>> cashed_check_details[
...     ["payee", "date_issued", "date_cashed"]
... ]
array([('K Starmer', '2024-03-29', '2024-04-12'),
       ('R Sunak', '2024-03-29', '2024-04-16'),
       ('L Truss', '2024-03-29', '2024-04-12'),
       ('T May', '2024-03-22', '2024-04-12'),
       ('D Cameron', '2024-03-22', '2024-04-08'),
       ('J Major', '2024-03-15', '2024-04-08'),
       ('M Thatcher', '2024-03-15', '2024-04-15')],
      dtype={'names': ['payee', 'date_issued', 'date_cashed'],
      ⮑'formats': ['<U10', '<U10', '<U10'],
      ⮑'offsets': [8, 64, 104], 'itemsize': 144})

.ﺪﻧﺍ ﻩﺪﺷ ﺩﺭﺍﻭ 2 ﻭ 1 ﻁﻮﻄﺧ ﺭﺩ ﺎﻬﻧﺁ .ﺩﺮﮐ ﺪﯿﻫﺍﻮﺧ ﻩﺩﺎﻔﺘﺳﺍ pathlib ﻪﻧ

.ﺪﻧﺍﻮﺨﺑ ﯽﺘﺳﺭﺩ ﻪﺑ NumPy ﻪﺘﻓﺎﯾ ﺭﺎﺘﺧﺎﺳ ﯼﺎﻫﻪﯾﺍﺭﺁ ﺭﺩ ﺍﺭ ﺎﻫﻞﯾﺎﻓ ﺪﻨﻫﺩ ﻩﺯﺎﺟﺍ

.ﻩﺩﺍﺩ ﻪﻧ ﻭ ﺖﺳﺍ ﺭﺪﻫ ﺕﺎﻋﻼﻃﺍ ﯼﻭﺎﺣ ﺎﻬﻧﺁ ﺯﺍ ﮏﯾ ﺮﻫ ﺍﺮﯾﺯ ﺩﻮﺷ ﯽﻣ ﻪﺘﻓﺮﮔ ﻩﺪﯾﺩﺎﻧ ﻩﺪﻧﻭﺮﭘ ﺮ

.ﺪﯾﺪﻧﻮﯿﭙﺑ ،ﺪﻨﻨﮐﯽﻣ ﯽﯾﺎﺳﺎﻨﺷ ﻞﯾﺎﻓ ﻭﺩ ﺮﻫ ﺭﺩ ﺍﺭ ﮏﭼ ﺮﻫ ﻪﮐ ﺪﻨﺘﺴﻫ ﯼﺩﺮﻓﻪﺑﺮﺼﺤﻨ

.ﺪﯿﻧﺍﺭﺬﮔ ﯽﻣ ، ﺖﺳﻮﯿﭘ ﺎﻬﻧﺁ ﻪﺑ ﻡﻮﺳ ﻭ ﻡﻭﺩ ﯼﺎﻫﺮﺘﻣﺍﺭﺎﭘ ﻥﺍﻮﻨﻋ ﻪﺑ ﻪﮐ ﺍﺭ ﯽﯾﺎﻫ ﻪﯾﺍﺭﺁ ﻡﺎﻧ

.ﺩﻮﺷﯽﻤﻧ ﺮﻫﺎﻇ ﯽﺟﻭﺮﺧ ﺭﺩ ،ﺩﻮﺷﯽﻤﻧ ﻩﺩﺍﺩ ﻥﺎﺸﻧ ﯼﺮﮕﯾﺩ ﺎﻣﺍ ﺩﻮﺷﯽﻣ ﺮﻫﺎﻇ ﻞﯾ

.ﺪﻧﺍ ﻩﺪﺷ ﻩﺩﺍﺩ ﺖﻘﺑﺎﻄﻣ ﯽﺘﺳﺭﺩ ﻪﺑ ﺎﻫﺩﺭﻮﮐﺭ ،ﺪﯿﻨﯿﺑ ﯽﻣ ﻪﮐ ﺭﻮﻄﻧﺎﻤﻫ .ﺖﺳﺍ ﻩﺪﻣﺁ cas

ﯽﭙﮐ ﯼﺎﻫ ﻡﺎﻧ ﺎﺑ ﺩﺭﻮﺧﺮﺑ

:ﺪﯿﻨﮐ ﻥﺎﺤﺘﻣﺍ ﺍﺭ ﻦﯾﺍ ﺪﯾﻮﺷ ﻪﺳﻮﺳﻭ ﺖﺳﺍ ﻦﮑﻤﻣ .ﺪﯿﻨﮐ ﻩﺪﻫﺎﺸﻣ ﺰﯿﻧ ﺍﺭ ﮏﭼ ﻎﻠﺒﻣ ﺪﯿﻫﺍﻮﺧ ﯽﻣ

>>> cashed_check_details[
...     [
...         "payee",
...         "date_issued",
...         "date_cashed",
...         "amount",
...     ]
... ]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'amount'

keyError ﺖﻤﺴﻗ ﺍﺮﯾﺯ ﺩﺎﺘﻓﺍ ﻕﺎﻔﺗﺍ ﺭﺍﺪﻘﻣ ﺖﻤﺴﻗ ﯼﻭﺎﺣ ﯽ

:ﺪﯾﺭﺍﺩ ﯽﺳﺮﺘﺳﺩ ﺎﻬﻧﺁ ﻪﺑ .dtype ﯽﮔﮋﯾﻭ ﻖﯾﺮﻃ ﺯﺍ ﺎﻤﺷ .ﺪﯿﻨﮐ ﯽﻣ ﻩﺪﻫﺎﺸﻣ ﺍﺭ

>>> cashed_check_details.dtype
dtype([('id', '<i8'), ('payee', '<U10'), ('amount1', '<f8'), ('amount2', '<f8'),
⮑ ('date_issued', '<U10'), ('date_cashed', '<U10')])

:ﺪﯿﻨﮐ ﺏﺎﺨﺘﻧﺍ ﺍﺭ ﺎﻬﻧﺁ ﺯﺍ ﮏﯾ ﻡﺍﺪﮐ ﻪﮐ ﺖﺴﯿﻧ ﻢﻬﻣ ﻦﯾﺍﺮﺑﺎﻨﺑ ، ﺪﻨﺘﺴﻫ ﻥﺎﺴﮑﯾ ﯼﺎﻫ ﻩﺩﺍﺩ ﯼﻭ

>>> cashed_check_details[
...     [
...         "payee",
...         "date_issued",
...         "date_cashed",
...         "amount1",
...     ]
... ]
array([('K Starmer', '2024-03-29', '2024-04-12', 150.),
       ('R Sunak', '2024-03-29', '2024-04-16', 175.),
       ('L Truss', '2024-03-29', '2024-04-12',  30.),
       ('T May', '2024-03-22', '2024-04-12',  65.),
       ('D Cameron', '2024-03-22', '2024-04-08', 430.),
       ('J Major', '2024-03-15', '2024-04-08', 500.),
       ('M Thatcher', '2024-03-15', '2024-04-15', 220.)],
      dtype={'names': ['payee', 'date_issued', 'date_cashed', 'amount1'],
      ⮑ 'formats': ['<U10', '<U10', '<U10', '<f8'],
      ⮑'offsets': [8, 64, 104, 48], 'itemsize': 144})

.ﺖﺳﺍ ﻩﺪﺷ ﻩﺪﻧﺎﺠﻨﮔ ﺎﻤﺷ ﯽﺟﻭﺮﺧ ﺭﺩ ﮏﭼ ﺭﺍﺪﻘﻣ ﺭﺎﺑ ﻦﯾﺍ

:ﺪﯿﻨﮐ ﻩﺪﻫﺎﺸﻣ ﺪﻧﺍ ﻩﺪﺸﻧ ﻝﻮﺻﻭ ﺮﺿﺎﺣ ﻝﺎﺣ ﺭﺩ ﻪﮐ ﺍﺭ ﯽﯾﺎﻫ ﮏﭼ ﺯﺍ ﯽﺘﺴﯿﻟ ﺪﯿﻫﺍﻮﺨﺑ ﺖﺳﺍ ﻦﮑﻤﻣ

>>> outstanding_checks = [
...     check_id
...     for check_id in issued_checks["id"]
...     if check_id not in cashed_checks["id"]
... ]

>>> outstanding_checks
[np.int64(1344), np.int64(1347), np.int64(1348)]

>>> [int(check_id) for check_id in outstanding_checks]
[1344, 1347, 1348]

.ﺪﻨﺘﺴﻫ ﻪﺘﺴﺟﺮﺑ ﺯﻮﻨﻫ ﺎﻬﻨﯾﺍ .ﺖﺴﯿﻧ cashed_checks ﻪﯾﺍﺭﺁ ﺭﺩ ﺎﻣﺍ

.ﺪﯾﺭﺍﺩ ﻪﮕﻧ ﯽﻧﺪﻧﺍﻮﺧ ﺭﺎﯿﺴﺑ ﺍﺭ ﺩﻮﺧ ﺪﮐ ﻭ ﺪﯿﻨﮐ ﺺﺨﺸﻣ ﻪﺴﯾﺎﻘﻣ ﯼﺍﺮﺑ ﺍﺭ ﺎﻫ ﻪﻨﯿﻣﺯ ﺖﻋﺮﺳ ﻪﺑ

.ﺪﯿﻨﮐ ﯽﻣ ﺝﺍﺮﺨﺘﺳﺍ ﺩﻮﺧ ﻞﺻﺎﺣ ﻪﯾﺍﺭﺁ ﺯﺍ ﺍﺭ ﺎﻫ ﻩﺭﺎﻤﺷ ، 10 ﻂﺧ ﺭﺩ ﻡﻭﺩ ﺖﺴﯿﻟ ﮎﺭﺩ ﺯﺍ ﻩﺩﺎﻔ

:ﺖﺳﺍ ﻪﺘﺷﺍﺩ ﺩﻮﺟﻭ ،ﺪﯾﺍﻩﺩﺮﮑﻧ ﺭﺩﺎﺻ ﻪﮐ ﺖﺳﺍ ﻩﺪﺷ ﺪﻘﻧ ﺎﻤﺷ ﺏﺎﺴﺣ ﻪﯿﻠﻋ ﻪﻧﺎﺒﻠﻘﺘﻣ ﺭﻮﻃu

>>> [
...     check_id
...     for check_id in cashed_checks["id"]
...     if check_id not in issued_checks["id"]
... ]
[]

ﺮﻔﺻ .ﺩﺭﺍﺪﻧ ﺩﻮﺟﻭ ﻡﺍﺪﮑﭽﯿﻫ ﻪﻧﺎﺘﺨﺒﺷﻮﺧ ﻪﮐ ﺪﻫﺩ ﯽﻣ ﻥﺎﺸﻧ ﻩﺪﺷ ﺪﯿﻟﻮﺗ ﯽﻟﺎﺧ ﺖﺴﯿﻟ

ﯼﺭﺍﺮﮑﺗ ﯼﺪﯿﻠﮐ ﺮﯾﺩﺎﻘﻣ ﺎﺑ ﺩﺭﻮﺧﺮﺑ

.ﺖﺳﺍ ﺍﺪﻧﺎﭘ ﺭﺩ () ﻡﺎﻏﺩﺍ ﺩﺮﮑﻠﻤﻋ ﺯﺍ ﻩﺩﺎﻔﺘﺳﺍ ﺮﺘﻬﺑ ﻦﯾﺰﮕﯾﺎﺟ ﮏﯾ ، ﺪﯾﺭﺍ

:ﺩﺭﺍﺩ ﺩﻮﺟﻭ ﯼﺭﺍﺮﮑﺗ ﺩﺭﻮﮐﺭ ﮏﯾ ﺎﻣﺍ ، ﺪﯾﺍ ﻩﺩﺮﮐ ﻩﺩﺎﻔﺘﺳﺍ ﺎﻬﻧﺁ ﺯﺍ ﻼًﺒﻗ ﻪﮐ ﺖﺳﺍ is

>>> from pathlib import Path
>>> import numpy.lib.recfunctions as rfn

>>> issued_dtypes = [
...     ("id", "i8"),
...     ("payee", "U10"),
...     ("amount", "f8"),
...     ("date_issued", "U10"),
... ]

>>> issued_checks = np.loadtxt(
...     Path("check_list_duplicates.csv"),
...     delimiter=",",
...     dtype=issued_dtypes,
...     skiprows=1,
... )

>>> rfn.find_duplicates(np.ma.asarray(issued_checks))
masked_array(data=[(1344, 'B Johnson', 45.0, '2024-03-22'),
                   (1344, 'B Johnson', 45.0, '2024-03-22')],
             mask=[(False, False, False, False),
                   (False, False, False, False)],
       fill_value=(999999, 'N/A', 1e+20, 'N/A'),
            dtype=[('id', '<i8'), ('payee', '<U10'),
            ⮑ ('amount', '<f8'), ('date_issued', '<U10')])

.ﺪﺘﻓﺍ ﯽﻣ ﻕﺎﻔﺗﺍ ﺭﺎﺑ ﻭﺩ 1344 ﺩﺭﻮﮐﺭ - ﺩﺭﺍﺩ ﺩﻮﺟﻭ ﯼﺭﺍﺮﮑﺗ ﻒﯾﺩﺭ ﮏﯾ ﻪﮐ

:ﺪﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ np.unique() ﻊﺑﺎﺗ ﺯﺍ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ،ﻥﺁ ﺮﺷ ﺯﺍ ﻥﺪﺷ ﺹﻼﺧ ﯼﺍﺮ

>>> issued_checks = np.unique(issued_checks, axis=0)
>>> issued_checks
array([(1341, 'K Starmer', 150., '2024-03-29'),
       (1342, 'R Sunak', 175., '2024-03-29'),
       (1343, 'L Truss',  30., '2024-03-29'),
       (1344, 'B Johnson',  45., '2024-03-22'),
       (1345, 'T May',  65., '2024-03-22'),
       (1346, 'D Cameron', 430., '2024-03-22'),
       (1347, 'G Brown', 100., '2024-03-15'),
       (1348, 'T Blair', 250., '2024-03-15'),
       (1349, 'J Major', 500., '2024-03-15'),
       (1350, 'M Thatcher', 220., '2024-03-15')],
      dtype=[('id', '<i8'), ('payee', '<U10'),
      ⮑ ('amount', '<f8'), ('date_issued', '<U10')])

.ﺩﻮﺷ ﯽﻣ ﺮﻫﺎﻇ ﺭﺎﺑ ﮏﯾ ﻂﻘﻓ ﻥﻮﻨﮐﺍ 1344 ﻒﯾﺩﺭ ﻪﮐ ﺪﯿﻨﯿﺑ ﯽﻣ ، ﺪﯿﻨﮐ ﻩﺎﮕﻧ

ﻢﻫ ﺎﺑ ﺎﻫ ﻪﯾﺍﺭﺁ ﻪﺑ ﻦﺘﺳﻮﯿﭘ :ﺩﻮﺧ ﯼﺎﻫ ﺕﺭﺎﻬﻣ ﺖﺴﺗ

:ﺪﯿﻨﮐ ﻞﺣ ﺍﺭ ﻦﯾﺮﻤﺗ ﻦﯾﺍ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ﺎﯾﺁ ﺪﯿﻨﯿﺒﺑ .ﺪﺷﺎﺑ ﺎﻤﺷ ﯼﺪﻌﺑ ﺶﻟﺎﭼ ﻪﮐ ﺖﺳﺍ ﻥﺁ ﺖﻗﻭ

:ﺪﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ ﺮﯾﺯ ﻒﯾﺎﻇﻭ ﻞﺣ ﯼﺍﺮﺑ ﺩﻮﺧ ﯼﺎﻫ ﺕﺭﺎﻬﻣ ﺯﺍ ،ﻥﻮﻨﮐﺍ .ﺪﯾﺯﺍﺪﻨﯿﺑ ﯽﻫﺎﮕﻧ ،ﺖﻓﺎﯾ

1 ﺭﺎﮐ: ﺖﺳﺍ ﺮﻓﺎﺴﻣ ﺮﻫ ﺖﯿﻠﻣ ﻭ ﯽﮔﺩﺍﻮﻧﺎﺧ ﻡﺎﻧ ، ﻡﺎﻧ ﯼﻭﺎﺣ ﻪﮐ ﺪﻨﮐ ﯽ

2 ﺭﺎﮐ: ﺪﻧﺭﺍﺪﻧ ﻪﻣﺎﻧﺭﺬﮔ ﻪﮐ ﺩﺭﺍﺩ ﺩﻮﺟﻭ ﺖﺴﯿﻟ ﺭﺩ ﺮﻓﺎﺴﻣ ﺎﯾﺁ ﻪﮐ ﺪﯿﻨ

3 ﻪﻔﯿﻇﻭ: ﻪﻣﺎﻧﺭﺬﮔ ﺎﯾﺁ ﻪﮐ ﺪﯿﻨﮐ ﻦﯿﯿﻌﺗﺩﺭﺍﺪﻧ ﻖﻠﻌﺗ ﯼﺮﻓﺎﺴﻣ ﭻﯿﻫ

:ﺖﺳﺍ ﻦﯾﺍ 1 ﺭﺎﮐ ﯼﺍﺮﺑ ﻦﮑﻤﻣ ﯼﺎﻫ ﻞﺣ ﻩﺍﺭ ﺯﺍ ﯽﮑﯾ

>>> import numpy as np
>>> import numpy.lib.recfunctions as rfn

>>> passenger_dtype = [
...     ("passenger_no", "i8"),
...     ("first_name", "U20"),
...     ("last_name", "U20"),
... ]

>>> passport_dtype = [
...     ("passport_no", "i8"),
...     ("passenger_no", "i8"),
...     ("nationality", "U20"),
... ]

>>> passengers = np.unique(
...     np.loadtxt(
...         "passengers.csv",
...         delimiter=",",
...         dtype=passenger_dtype,
...         skiprows=1,
...     ),
...     axis=0,
... )

>>> passports = np.unique(
...     np.loadtxt(
...         "passports.csv",
...         delimiter=",",
...         dtype=passport_dtype,
...         skiprows=1,
...     ),
...     axis=0,
... )

>>> flight_details = rfn.rec_join(
...     "passenger_no",
...     passengers,
...     passports,
...     jointype="inner",
... )

>>> flight_details[
...     ["first_name", "last_name", "nationality"]
... ]
rec.array([('Olivia', 'Smith', 'British'), ('Amelia', 'Jones', 'British'),
           ('Isla', 'Williams', 'American'),
           ('Ava', 'Taylor', 'American'), ('Ivy', 'Brown', 'Austrian'),
           ('Freya', 'Davies', 'Norwegian'), ('Lily', 'Evans', 'French'),
           ('Florence', 'Wilson', 'German'), ('Mia', 'Thomas', 'Danish'),
           ('Willow', 'Johnson', 'Dutch'), ('Noah', 'Roberts', 'Dutch'),
           ('Oliver', 'Robinson', 'French'),
           ('George', 'Thompson', 'Danish'),
           ('Muhammad', 'Walker', 'Dutch'), ('Leo', 'White', 'British'),
           ('Harry', 'Edwards', 'American'),
           ('Oscar', 'Hughes', 'Spanish'),
           ('Archie', 'Green', 'Norwegian'), ('Henry', 'Hall', 'British')],
          dtype={'names': ['first_name', 'last_name', 'nationality'],
          ⮑ 'formats': ['<U20', '<U20', '<U20'],
          ⮑ 'offsets': [8, 88, 176], 'itemsize': 256})

.ﺪﻨﮐ ﯽﻣ ﻒﯾﺮﻌﺗ ﺍﺭ ﺖﯿﺼﺨﺷ ﮏﯾ ﻭ ﺖﺴﯿﺑ ﻪﺘﺷﺭ ﮏﯾ U20 ﻪﮐ ﯽﻟﺎﺣ ﺭﺩ ، ﺪﻨﮐ ﯽ

.ﺖﺳﺍ ﻦﯾﻭﺎﻨﻋ ﯼﻭﺎﺣ ﺍﺮﯾﺯ ﺪﯿﻨﮐ ﯽﻣ ﺵﺮﭘ ﻩﺪﻧﻭﺮﭘ ﺮﻫ ﯼﻻﺎﺑ ﻂﺧ ﺯﺍ ﺎﻤﺷ ﻪﮐ ﺪﯿﻨﮐ ﻪﺟﻮﺗ .ﺩﻮﺷ ﯽ

.ﺪﻧﻮﺷ ﯽﻣ ﻩﺪﻧﺎﺠﻨﮔ ﯽﺟﻭﺮﺧ ﺭﺩ ﺕﺭﻮﭙﺳﺎﭘ ﯼﺍﺭﺍﺩ ﻥﺍﺮﻓﺎﺴﻣ ﻂﻘﻓ ﻪﮐ ﯽﻨﻌﻣ ﻦﯾﺍ ﻪﺑ ،ﺖﺳﺍ ﯽﻠﺧﺍﺩ

.ﺪﻨﮐ ﯽﻣ ﻩﺩﺎﻔﺘﺳﺍ ﺎﻫ ﻩﺩﺍﺩ ﺝﺍﺮﺨﺘﺳﺍ ﯼﺍﺮﺑ ﺎﻫﺪﻠﯿﻓ ﻡﺎﻧ ﻦﺘﺷﺍﺩ ﺡﻮﺿﻭ ﻭ ﯽﺘﺣﺍﺭ ﺯﺍ ﺩﺮﮑﯾﻭﺭ ﻦ

:ﺖﺳﺍ ﻦﯾﺍ 2 ﺭﺎﮐ ﯼﺍﺮﺑ ﻦﮑﻤﻣ ﯼﺎﻫ ﻞﺣ ﻩﺍﺭ ﺯﺍ ﯽﮑﯾ

>>> passengers_without_passports = [
...     passenger
...     for passenger in passengers["passenger_no"]
...     if passenger not in passports["passenger_no"]
... ]

>>> passengers_without_passports
[np.int64(14)]

.ﺖﺳﺍ ﻩﺩﺮﮑﻧ ﻪﺋﺍﺭﺍ ﺍﺭ ﻪﻣﺎﻧﺭﺬﮔ ﺕﺎﯿﺋﺰﺟ 14 ﺮﻓﺎﺴﻣ ،ﺩﺭﻮﻣ ﻦﯾﺍ ﺭﺩ .

:3 ﺭﺎﮐ ﯼﺍﺮﺑ ﻦﮑﻤﻣ ﻞﺣ ﻩﺍﺭ ﮏﯾ

>>> passports_without_passengers = [
...     passenger
...     for passenger in passports["passenger_no"]
...     if passenger not in passengers["passenger_no"]
... ]

>>> passports_without_passengers
[np.int64(21)]

.ﺩﻮﺷ ﯽﻣ ﺭﺎﮑﺷﺁ 21 ﺩﻮﺟﻮﻣ ﺮﯿﻏ ﺮﻓﺎﺴﻣ ﻪﺑ ﻖﻠﻌﺘﻣ ﻪﻣﺎﻧﺭﺬﮔ ، ﺖﻟﺎﺣ ﻦﯾﺍ ﺭﺩ

.ﺖﺧﻮﻣﺁ ﺪﯿﻫﺍﻮﺧ ﺍﺭ ﯽﺒﺗﺍﺮﻣ ﻪﻠﺴﻠﺳ ﯼﺎﻫ ﻩﺩﺍﺩ ﻞﯿﻠﺤﺗ ﻭ ﻪﯾﺰﺠﺗ ﻩﻮﺤﻧ ،ﯼﺪﻌﺑ ﺶﺨﺑ ﺭﺩ

Numpy ﯽﺒﺗﺍﺮﻣ ﻪﻠﺴﻠﺳ ﯼﺎﻫ ﻩﺩﺍﺩ ﻢﯿﺳﺮﺗ ﻭ ﻞﯿﻠﺤﺗ ﻭ ﻪﯾﺰﺠﺗ :3 ﻝﺎﺜﻣ

.ﺩﻮﺷ ﯽﻣ ﻒﯿﺻﻮﺗ ﺪﻧﺯﺮﻓ-ﺪﻟﺍﻭ ﻪﻄﺑﺍﺭ ﻦﺘﺷﺍﺩ ﻥﺍﻮﻨﻋ ﻪﺑ ﺐﻠﻏﺍ ﻒﻠﺘﺨﻣ ﺡﻮﻄﺳ ﻭ ﺩﻮﺷ ﯽ

.ﺩﺭﺍﺩ ﺩﻮﺟﻭ ﺪﻨﻨﮐ ﯽﻣ ﺭﺎﮐ ﺶﺨﺑ ﺮﻫ ﺭﺩ ﻪﮐ ﯽﻧﺎﻨﮐﺭﺎﮐ ﯼﺎﻫ ﻩﺩﺍﺩ ﻭ ﻥﺁ ﻥﺎﻤﺗﺭﺎﭘﺩ ﯼﺎﻫ ﻩﺩﺍﺩ ،

.ﺪﯿﻨﮐ ﻡﺎﻏﺩﺍ ﺪﺣﺍﻭ ﻪﯾﺍﺭﺁ ﮏﯾ ﺭﺩ ﺍﺭ ﻥﺁ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ،ﯽﺒﺗﺍﺮﻣ ﻪﻠﺴﻠﺳ ﯼﺎﻫ ﻩﺩﺍﺩ ﺎﺑ NumPy ﺯ

.ﺩﻮﺷ ﯽﻣ ﻥﺍﺮﺒﺟ ﻥﺍﺮﮕﯾﺩ ﺭﺩ ﺩﻮﺳ ﺎﺑ ﻡﺎﻬﺳ ﺯﺍ ﯽﺧﺮﺑ ﺭﺩ ﻩﺩﺭﺍﻭ ﺕﺍﺭﺎﺴﺧ ﻪﮐ ﺖﺳﺍ ﻦﯾﺍ ﻩﺪﯾﺍ .ﺪ

.ﺖﺳﺍ ﺏﻮﺧ ﺭﺪﻘﭼ ﺎﻫﺭﺎﮐ ﻪﻧﻮﻤﻧ ﻪﮐ ﺪﯿﻨﯿﺒﺑ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ،ﺎﻫ ﻩﺩﺍﺩ ﻦﯾﺍ ﻞﯿﻠﺤﺗ ﻭ ﻪﯾﺰﺠﺗ ﺎﺑ .ﺩ

ﯽﻟﺎﺧ ﻪﯾﺍﺭﺁ ﺩﺎﺠﯾﺍ

:ﺖﺳﺍ ﻩﺪﺷ ﻩﺩﺍﺩ ﻥﺎﺸﻧ ﺮﯾﺯ ﺭﺩ ﺎﺠﻨﯾﺍ ﺭﺩ .ﺩﺮﮐ ﺪﯿﻫﺍﻮﺧ ﺍﺪﯿﭘ ﺩﻮﺧ ﯼﺎﻫ ﯼﺮﯿﮔﺭﺎﺑ ﺭﺩ ﺩﻮﺟﻮﻣ <

Company,Sector
Company_A,technology
Company_B,finance
Company_C,healthcare
Company_D,technology
Company_E,finance
Company_F,healthcare

.ﺖﺳﺍ ﻥﺁ ﻪﺑ ﻖﻠﻌﺘﻣ ﺖﮐﺮﺷ ﻪﮐ ﺩﻮﺷ ﯽﻣ ﻞﻣﺎﺷ ﺍﺭ ﯽﯾﺎﻫ ﺶﺨﺑ ﻥﻮﺘﺳ ﻪﮐ ﯽﻟﺎﺣ ﺭ

.ﺖﺳﺍ ﻩﺮﯿﻏ ﻭ ﻪﺒﻨﺷ ﻪﺳ ﯼﺎﻫ ﺖﻤﯿﻗ share_prices-2.csv ، ﻪﺒﻨﺷﻭﺩ ﺯﻭﺭ ﯼﺎ

:ﺖﺳﺍ ﻩﺪﺷ ﻩﺩﺍﺩ ﻥﺎﺸﻧ ﺮﯾﺯ ﺭﺩ ﻡﺎﻬﺳ ﺖﻤﯿﻗ ﻞﯾﺎﻓ ﻪﻧﻮﻤﻧ

Company,mon
Company_A,100.5
Company_B,200.1
Company_C,50.3
Company_D,110.5
Company_E,200.1
Company_F,55.3

.ﺪﻨﻨﮐ ﯽﻣ ﯼﻭﺮﯿﭘ ﯽﻬﺑﺎﺸﻣ ﯼﻮﮕﻟﺍ ﺯﺍ ، ﺪﻨﺘﺴﻫ ﺕﻭﺎﻔﺘﻣ ﻪﮐ ، ﺩﻮﺧ ﺯﻭﺭ ﯼﺎﻫ ﻥﻮﺘﺳ ﺯﺍ ﺮﯿﻏ ﻪﺑ

.ﺩﻮﺑ ﺪﻨﻫﺍﻮﺧ ﺭﻭﺎﻨﺷ ﻪﯿﻘﺑ ﻭ ﻪﺘﺷﺭ ﻝﻭﺍ ﺪﻠﯿﻓ ﻭﺩ .ﺪﯾﺭﺍﺩ ﻪﮕﻧ ﺍﺭ ﺖﮐﺮﺷ ﺮﻫ ﻪﻧﺍﺯﻭﺭ ﯼﺎﻫ ﺖﻤﯿ

:ﺪﻨﮐ ﯽﻣ ﺩﺎﺠﯾﺍ ﺍﺭ portfolio ﻪﯿﻟﻭﺍ ﻪﯾﺍﺭﺁ ﺮﯾﺯ ﺭﺩ ﻩﺪﺷ ﻩﺩﺍﺩ ﻥﺎﺸﻧ ﺪﮐ

>>> import numpy as np
>>> from pathlib import Path

>>> days = ["mon", "tue", "wed", "thu", "fri"]
>>> days_dtype = [(day, "f8") for day in days]
>>> company_dtype = [("company", "U20"), ("sector", "U20")]

>>> portfolio_dtype = np.dtype(company_dtype + days_dtype)
>>> portfolio = np.zeros((6,), dtype=portfolio_dtype)
>>> portfolio
array([('', '', 0., 0., 0., 0., 0.), ('', '', 0., 0., 0., 0., 0.),
       ('', '', 0., 0., 0., 0., 0.), ('', '', 0., 0., 0., 0., 0.),
       ('', '', 0., 0., 0., 0., 0.), ('', '', 0., 0., 0., 0., 0.)],
      dtype=[('company', '<U20'), ('sector', '<U20'), ('mon', '<f8'),
      ⮑ ('tue', '<f8'), ('wed', '<f8'), ('thu', '<f8'), ('fri', '<f8')])

.ﺪﯿﻨﮐﯽﻣ ﺩﺭﺍﻭ 2 ﻭ 1 ﻁﻮﻄﺧ ﺭﺩ ﺍﺭ ﺎﻬﻧﺁ ﻦﯾﺍﺮﺑﺎﻨﺑ ،ﺩﺮﮐ ﺪﯿﻫﺍﻮﺧ ﻩﺩﺎﻔﺘﺳﺍ pat

.ﺖﺳﺍ portfolio.csv ﻩﺪﻧﻭﺮﭘ ﺖﮐﺮﺷ ﯼﺎﻫ ﻩﺩﺍﺩ ﯼﺍﺮﺑ ﯽﻔﯾﺭﺎﻌﺗ ﯼﻭﺎﺣ

.ﺪﯿﻫﺩ ﯽﻣ dtype ﯽﺷ ﮏﯾ ﻪﺑ ، ﺖﺳﺍ ﻩﺪﺷ ﻩﺩﺍﺩ ﻥﺎﺸﻧ 8 ﻂﺧ ﺭﺩ ﻪﮐ ﺭﻮﻄﻧﺎﻤﻫ

.ﺩﻮﺷ ﯽﻣ ﺪﯿﻟﻮﺗ ﺎﻫﺪﻠﯿﻓ ﻪﯿﻘﺑ ﺭﺩ ﺮﻔﺻ ﻭ ﻝﻭﺍ ﺪﻠﯿﻓ ﻭﺩ ﺭﺩ ﯽﻟﺎﺧ ﯼﺎﻫ ﻪﺘﺷﺭ ﯼﻭﺎﺣ ﻪﯾﺍﺭﺁ ﮏﯾ

ﻪﯾﺍﺭﺁ ﻥﺩﺮﮐ ﻊﻤﺟ

:ﺪﯿﻨﮐ ﯽﻣ ﻪﻓﺎﺿﺍ ﺍﺭ portfolio.csv ﺭﺩ ﻩﺪﺷ ﻩﺮﯿﺧﺫ ﯼﺎﻫ ﺖﮐﺮﺷ ﺕﺎﯿﺋﺰﺟ ،ﻉﻭﺮ

>>> companies = np.loadtxt(
...     Path("portfolio.csv"),
...     delimiter=",",
...     dtype=company_dtype,
...     skiprows=1,
... ).reshape((6,))

>>> portfolio[["company", "sector"]] = companies
>>> portfolio
array([('Company_A', 'technology', 0., 0., 0., 0., 0.),
       ('Company_B', 'finance', 0., 0., 0., 0., 0.),
       ('Company_C', 'healthcare', 0., 0., 0., 0., 0.),
       ('Company_D', 'technology', 0., 0., 0., 0., 0.),
       ('Company_E', 'finance', 0., 0., 0., 0., 0.),
       ('Company_F', 'healthcare', 0., 0., 0., 0., 0.)],
      dtype=[('company', '<U20'), ('sector', '<U20'), ('mon', '<f8'),
      ⮑ ('tue', '<f8'), ('wed', '<f8'), ('thu', '<f8'), ('fri', '<f8')])

.ﺖﺳﺍ ﯼﺭﻭﺮﺿ ﻮﯿﻟﻮﻔﺗﺭﻮﭘ ﺭﺩ ﺎﻫﺖﮐﺮﺷ ﺝﺭﺩ ﯼﺍﺮﺑ ﻦﯾﺍ .ﺪﻫ

ﯽﺟﻭﺮﺧ ﺪﯿﻨﯿﺑ ﯽﻣ ﻥﺁ ﺯﺍ ﻪﮐ ﺭﻮﻄﻧﺎﻤﻫ ، ﺖﺳﺍ ﻩﺪﺷ ﺝﺭﺩ ﺎﻫﺭﺎﮐ ﻪﻧﻮﻤﻧ ﺭﺩ

:ﺖﺳﺍ ﻩﺪﺷ ﻩﺩﺍﺩ ﻥﺎﺸﻧ ﺮﯾﺯ ﺭﺩ ﺭﺎﮐ ﻦﯾﺍ ﻡﺎﺠﻧﺍ ﺪﮐ .ﺖﺳﺍ ﻪﻧﺍﺯﻭﺭ ﻒﻠﺘﺨﻣ ﯼﺎﻫ ﺖﻤﯿﻗ ﻥﺩﻭﺰﻓﺍ ،

>>> share_prices_dtype = [("company", "U20"),("day", "f8"),]

>>> for day, csv_file in zip(
...     days, sorted(Path.cwd().glob("share_prices-?.csv"))
... ):
...     portfolio[day] = np.loadtxt(
...         csv_file.name,
...         delimiter=",",
...         dtype=share_prices_dtype,
...         skiprows=1,
...     )["day"]

>>> portfolio
array([('Company_A', 'technology', 100.5, 101.2, 102. , 101.8, 112.5),
       ('Company_B', 'finance', 200.1, 199.8, 200.5, 201. , 200.8),
       ('Company_C', 'healthcare',  50.3,  50.5,  51. ,  50.8,  51.2),
       ('Company_D', 'technology', 110.5, 101.2, 102. , 111.8,  97.5),
       ('Company_E', 'finance', 200.1, 200.8, 200.5, 211. , 200.8),
       ('Company_F', 'healthcare',  55.3,  50.5,  53. ,  50.8,  52.2)],
      dtype=[('company', '<U20'), ('sector', '<U20'), ('mon', '<f8'),
      ⮑ ('tue', '<f8'), ('wed', '<f8'), ('thu', '<f8'), ('fri', '<f8')])

.ﺪﻧﻮﺷ ﯽﻣ ﺵﺯﺍﺩﺮﭘ ﺪﯿﺘﻓﺮﮔ ﺩﺎﯾ ﻼًﺒﻗ ﻪﮐ ﯽﺒﯿﺗﺮﺗ ﻪﺑ ﺎﻫ ﻞﯾﺎﻓ .ﺩﺮﮑﻠﻤﻋ < .ﺪﯿﻫﺩ ﯽﻣ ﻡﺎﺠﻧﺍ ﻥ

.ﺪﺑﺎﯾ ﯽﻣ ﺹﺎﺼﺘﺧﺍ csv_file ﺮﯿﻐﺘﻣ ﻪﺑ ﻩﺪﻧﻭﺮﭘ ﺮﻫ ﻪﮐ ﯽﻟﺎﺣ ﺭﺩ ، ﺪﺑﺎﯾ ﯽ

.ﺪﯾﺩﺍﺩ ﻡﺎﺠﻧﺍ ﻒﻠﺘﺨﻣ ﺯﻭﺭ ﺮﻫ ﯼﺍﺮﺑ portfolio[day] ﻪﺑ ﻩﺪﺷ ﻩﺪﻧﺍﻮﺧ ﯼﺎﻫ ﻩ

.ﺖﺳﺍ ﺖﻨﺳ ﻪﺑ ﻪﻌﻤﺟ ﺎﺗ ﻪﺒﻨﺷﻭﺩ ﺯﺍ ﻡﺎﻬﺳ ﺖﻤﯿﻗ ﺩﺭﻮﮐﺭ ﺮﻫ ﺭﺩ ﯽﯾﺎﻬﻧ ﺩﺪﻋ ﺞﻨﭘ .ﺩﺭﺍﺩ ﻖﻠﻌﺗ ﻥ

:ﺪﯿﻨﮐ ﺝﺍﺮﺨﺘﺳﺍ ﺮﺗ ﻖﯿﻗﺩ ﯽﺳﺭﺮﺑ ﯼﺍﺮﺑ ﺍﺭ ﺪﺣﺍﻭ ﺖﮐﺮﺷ ﮏﯾ ﺪﯿﻫﺍﻮﺧ ﯽﻣ ﺪﯿﻨﮐ ﺽﺮﻓ .ﺪﯿﻨﮐ ﻞﯿﻠﺤ

>>> portfolio[portfolio["company"] == "Company_C"]
array([('Company_C', 'healthcare', 50.3, 50.5, 51., 50.8, 51.2)],
      dtype=[('company', '<U20'), ('sector', '<U20'),
      ⮑ ('mon', '<f8'), ('tue', '<f8'), ('wed', '<f8'),
      ⮑ ('thu', '<f8'), ('fri', '<f8')])

.ﺖﺳﺍ ﯼﺯﺎﺳ ﻪﯾﺎﻤﻧ ﺎﺑ ﯽﯾﺎﻫ ﻒﯾﺩﺭ ﺏﺎﺨﺘﻧﺍ ﺯﺍ ﺮﺗ ﯼﺩﻮﻬﺷ ﺭﺎﯿﺴﺑ ﺵﻭﺭ ﻦﯾﺍ < .ﺩﺭﺍﺩ ﺖﻘﺑﺎﻄﻣ c

:ﺪﯿﻨﮐ ﺏﺎﺨﺘﻧﺍ ﺰﯿﻧ ﺍﺭ ﻡﺎﻗﺭﺍ ﻦﯾﺍ ﺪﯿﻧﺍﻮﺗﯽﻣ ،ﺪﯿﻨﯿﺒﺑ ﺍﺭ ﻪﻌﻤﺟ ﺯﻭﺭ ﺭﺩ ﺎﻤﺷ ﻪﻋﻮﻤﺠﻣ

>>> portfolio[portfolio["sector"] == "technology"]["fri"]
array([112.5,  97.5])

.ﺪﯿﻨﮐﯽﻣ ﺮﺘﻠﯿﻓ ["fri"] ﺯﺍ ﻩﺩﺎﻔﺘﺳﺍ ﺎﺑ ﺍﺭ ﺎﻬﻧﺁ ،ﻪﻌﻤﺟ ﯼﺎﻫﺩﺭﻮﮐﺭ ﻂ

:ﺪﻧﺭﺍﺩ ﺵﺯﺭﺍ ﻝﻮﭘ ﺭﺪﻘﭼ ﻪﺘﻔﻫ ﻥﺎﯾﺎﭘ ﺭﺩ ﻪﮐ ﺪﯿﻨﯿﺒﺑ ﺪﯿﻫﺍﻮﺨﺑ ﺖﺳﺍ ﻦﮑﻤﻣ .ﺪﯾﺭﺍﺩ ﺩﻮﺧ ﯼﺭﻭﺎﻨ

>>> portfolio[portfolio["sector"] == "technology"]["fri"] * 250 * 0.01
array([281.25, 243.75])

.ﺖﺳﺍ ﻩﺪﺷ ﺮﮐﺫ ﺖﻨﺳ ﺐﺴﺣ ﺮﺑ ﻡﺎﻬﺳ ﺖﻤﯿﻗ ﻪﮐ ﺪﯿﺷﺎﺑ ﻪﺘﺷﺍﺩ ﺮﻈﻧ ﺭﺩ ،ﺪﯿﻨﮐ ﻞﯾﺪﺒﺗ ﺭﻻﺩ ﻪﺑ ﺍﺭ

>>> sum(portfolio[portfolio["sector"] == "technology"]["fri"] * 250 * 0.01)
np.float64(525.0)

.ﺩﺭﺍﺩ ﺵﺯﺭﺍ ﺭﻻﺩ 525.00 ﺎﻤﺷ ﺎﻫﺭﺎﮐ ﻪﻧﻮﻤﻧ ﺯﺍ ﯼﺭﻭﺎﻨﻓ ﺶﺨﺑ

.ﺩﺍﺩ ﺪﯿﻫﺍﻮﺧ ﻡﺎﺠﻧﺍ ﺪﻌﺑ ﺎﻤﺷ ﻪﮐ ﺖﺳﺍ ﯼﺭﺎﮐ ﻥﺎﻤﻫ ﻦﯾﺍ .ﺪﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ ﺰﯿﻧ ﺵﻭﺭ ﻦﯾﺍ ﺯﺍ ،

ﺎﻫ ﻩﺩﺍﺩ ﺭﺍﺩﻮﻤﻧ ﻢﯿﺳﺮﺗ

:ﺩﻮﺷ ﯽﻣ ﯼﺮﺼﺑ ﺪﮐ ،ﺪﯿﻨﮐ ﯽﻣ ﺭﺎﮐ ﻪﺘﻓﺎﯾ ﺖﺧﺎﺳ ﻪﯾﺍﺭﺁ ﮏﯾ ﺎﺑ ﺎﻤﺷ ﻥﻮﭼ ،ﻢﻫ ﺯﺎﺑ .ﺪﯿﻫﺩ ﺶﯾﺎﻤ

>>> import matplotlib.pyplot as plt

>>> tech_mask = portfolio["sector"] == "technology"
>>> tech_sector = portfolio[tech_mask]["company"]
>>> tech_valuation = portfolio[tech_mask]["fri"] * 250 * 0.01

>>> (
...     plt.bar(x=tech_sector, height=tech_valuation, data=tech_valuation)[0]
...     .set_color("g")
... )
>>> plt.xlabel("Tech Companies")
>>> plt.ylabel("Friday Price ($)")
>>> plt.title("Tech Share Valuation ($)")
>>> plt.show()

.ﺖﺳﺍ tech_sector ﺖﮐﺮﺷ ﺮﻫ ﯼﺍﺮﺑ ﻪﻌﻤﺟ ﯽﺑﺎﯾﺯﺭﺍ ﯼﻭﺎﺣ ، ﺖﺳﺍ ﻩﺪﺷ ﻒﯾﺮﻌﺗ

.ﺩﻮﺷ ﯽﻣ ﻩﺩﺍﺩ ﺶﯾﺎﻤﻧ ﺡﺮﻃ ،ﺖﯾﺎﻬﻧ ﺭﺩ .ﺪﻨﻫﺩ ﯽﻣ ﻥﺍﻮﻨﻋ ﺭﺍﺩﻮﻤﻧ ﻪﺑ ﻭ ﺪﻨﻨﮐ ﯽﻣ ﺪﯿﻟﻮﺗ ﺎﻫﺭﻮ

.ﺩﻮﺷ ﯽﻣ ﻩﺩﺍﺩ ﻥﺎﺸﻧ 13 ﻭ 12 ، 11 ﻁﻮﻄﺧ ﺯﺍ ﺲﭘ ءﯽﺷ ﻊﺑﺎﻨﻣ ، ﺪﯿﻨﮐ ﺍﺮﺟﺍ Python Repl ﺩﺭ

:ﺖﺳﺍ ﻩﺪﺷ ﻩﺩﺍﺩ ﻥﺎﺸﻧ ﺮﯾﺯ ﺭﺩ ﻞﺻﺎﺣ ﺭﺍﺩﻮﻤﻧ

.ﯽﮐﺪﻧﺍ ﻂﻘﻓ ﻪﺘﺒﻟﺍ ،ﺪﻨﮐ ﯽﻣ ﻞﻤﻋ ﺮﺘﻬﺑ ،ﻭﺩ ﻦﯾﺍ ﻦﯿﺑ ﺯﺍ Company_A ﺪﺳﺭ ﯽﻣ

ﯽﺒﺗﺍﺮﻣ ﻪﻠﺴﻠﺳ ﯼﺎﻫ ﻩﺩﺍﺩ ﻢﯿﺳﺮﺗ ﻭ ﻞﯿﻠﺤﺗ ﻭ ﻪﯾﺰﺠﺗ :ﺩﻮﺧ ﯼﺎﻫ ﺕﺭﺎﻬﻣ ﺶﯾﺎﻣﺯﺁ

:ﺖﺳﺍ ﺎﺠﻨﯾﺍ ﺭﺩ ﺎﻤﺷ ﺶﻟﺎﭼ ﻦﯿﻣﻮﺳ ، ﺖﮐﺮﺣ ﺯﺍ ﻞﺒﻗ

.ﺩﻮﺷ ﯽﻣ ﻩﺮﯿﺧﺫ Rome_Temperatures.csv ﻭ London_temperature

.ﺪﺷﺎﺑ ﺮﻬﺷ ﺮﻫ ﯼﺍﺮﺑ ﻩﺎﻣ ﯼﺎﻣﺩ ﺪﯾﺎﺑ ﺮﮕﯾﺩ ﺩﺭﻮﻣ ﻪﺳ ﻪﮐ ﯽﻟﺎﺣ ﺭﺩ ، ﺪﺷﺎﺑ ﻩﺎﻣ ﺪﯾﺎﺑ ﺩﺭﺍﻮﻣ

.ﺪﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ ﻂﺧ ﺡﺮﻃ ﮏﯾ ﺭﺩ ﺮﻬﺷ ﻪﺳ ﯼﺍﺮﺑ ﻪﻧﺎﻫﺎﻣ ﯼﺎﻣﺩ ﺮﻫ ﻢﯿﺳﺮﺗ ﯼﺍﺮﺑ ﺩﻮﺧ ﯼﺭﺎﺘﺧﺎﺳ ﻪ

:ﻪﯾﺍﺭﺁ ﺩﺎﺠﯾﺍ ﯼﺍﺮﺑ ﻦﮑﻤﻣ ﻞﺣ ﻩﺍﺭ ﮏﯾ

>>> import numpy as np
>>> from pathlib import Path

>>> cities = ["london", "new_york", "rome"]
>>> cities_dtype = [(city, "i8") for city in cities]
>>> city_files_dtype = [("month", "U20"), ("temp", "i8")]
>>> weather_data_dtype = np.dtype([("month", "U20")] + cities_dtype)

>>> weather_data = np.zeros((12,), dtype=weather_data_dtype)
>>> weather_data
array([('', 0, 0, 0), ('', 0, 0, 0), ('', 0, 0, 0), ('', 0, 0, 0),
       ('', 0, 0, 0), ('', 0, 0, 0), ('', 0, 0, 0), ('', 0, 0, 0),
       ('', 0, 0, 0), ('', 0, 0, 0), ('', 0, 0, 0), ('', 0, 0, 0)],
      dtype=[('month', '<U20'), ('london', '<i8'),
      ⮑ ('new_york', '<i8'), ('rome', '<i8')])

>>> for city in cities:
...     temps = np.loadtxt(
...         Path(f"{city}_temperatures.csv"),
...         delimiter=",",
...         dtype=city_files_dtype,
...     )
...     weather_data[["month", city]] = temps
...

>>> weather_data
array([('Jan',  5,  2,  8), ('Feb',  7,  2,  9), ('Mar',  9,  4, 12),
       ('Apr', 11, 11, 14), ('May', 14, 16, 21), ('Jun', 16, 22, 23),
       ('Jul', 19, 25, 26), ('Aug', 19, 24, 24), ('Sep', 17, 20, 22),
       ('Oct', 13, 14, 18), ('Nov', 10, 12, 13), ('Dec',  7,  9, 10)],
      dtype=[('month', '<U20'), ('london', '<i8'),
      ⮑ ('new_york', '<i8'), ('rome', '<i8')])

.ﺖﺳﺍ ﻩﺪﺷ ﻢﯿﻈﻨﺗ 0 ﯼﻭﺭ ﺢﯿﺤﺻ ﺩﺪﻋ ﺖﻤﺴﻗ ﺮﻫ ﻪﮐ ﯽﻟﺎﺣ ﺭﺩ ، ﺩﻮﺷ ﯽﻣ ﺯﺎﻏﺁ

.ﺖﺳﺍ ﺏﻮﺧ ،ﺪﻨﺷﺎﺑ ﻥﺎﺴﮑﯾ ﺎﻫ ﻩﺩﺍﺩ ﻪﻋﻮﻤﺠﻣ ﻪﻤﻫ ﺭﺩ ﺎﻬﻧﺁ ﻪﮐ ﯽﻧﺎﻣﺯ ﺎﺗ ﺎﻣﺍ .ﺪﻧﻮﺷ ﯽﻣ ﯽﺴﯾﻮ

:ﺪﺷﺎﺑ ﺮﯾﺯ ﺩﺭﺍﻮﻣ ﺪﻧﺍﻮﺗ ﯽﻣ ﻂﺧ ﺡﺮﻃ ﯼﺍﺮﺑ ﻝﺎﻤﺘﺣﺍ ﮏﯾ .ﺪﻫﺩ ﯽﻣ ﻥﺎﺸﻧ ﺍﺭ ﻞﻣﺎﮐ ﻪﯾﺍﺭﺁ 32 ﺎ

>>> import matplotlib.pyplot as plt

>>> plt.plot(weather_data["month"], weather_data["london"])
>>> plt.plot(weather_data["month"], weather_data["new_york"])
>>> plt.plot(weather_data["month"], weather_data["rome"])

>>> plt.ylabel("Temperature (C)")
>>> plt.xlabel("Month")
>>> plt.title("Average Monthly Temperatures")
>>> plt.legend(["London", "New York", "Rome"])
>>> plt.show()

.ﺪﯿﻨﮐ ﯽﻣ ﻪﻓﺎﺿﺍ ﺍﺭ ﻪﻧﺎﺴﻓﺍ ﻭ ﻥﺍﻮﻨﻋ ﻭ ﺪﯿﻨﮐ ﯽﻣ ﻪﻓﺎﺿﺍ ﺩﻮﺧ ﺭﺍﺩﻮﻤﻧ ﺭﻮﺤﻣ ﻭﺩ ﺮﻫ ﻪﺑ ﺍﺭ ﺎ

:ﺪﺷﺎﺑ ﻦﯾﺍ ﻪﺑ ﻪﯿﺒﺷ ﯼﺰﯿﭼ ﺪﯾﺎﺑ ﺎﻤﺷ ﯽﯾﺎﻬﻧ ﯽﺟﻭﺮﺧ

.ﺩﺭﺍﺩ ﯼﺮﺗﻻﺎﺑ ﺕﺭﺍﺮﺣ ﻪﺟﺭﺩ ﻡﻭﺍﺪﻣ ﺭﻮﻃ ﻪﺑ ﻡﺭ ، ﺮﻬﺷ ﻪﺳ ﺯﺍ ، ﺪﯿﻨﮐ ﯽﻣ ﻩﺪﻫﺎﺸﻣ ﻪﮐ ﺭﻮﻄﻧﺎﻤ

.ﺪﯾﺯﻮﻣﺁ ﯽﻣ ، ﺪﻨﻨﮐ ﯽﻣ ﻩﺩﺎﻔﺘﺳﺍ ﻥﺁ ﺯﺍ ﻪﮐ ﯽﻌﺑﺍﻮﺗ ﻦﺘﺷﻮﻧ ﻩﻮﺤﻧ ﻭ ، Numpy ﯽﯾﺁﺭﺎﮐ ﻦﯾﺮﺗ

Numpy ﺩﻮﺧ ﻩﺪﺷ ﺭﺍﺩﺮﺑ ﻊﺑﺍﻮﺗ ﻦﺘﺷﻮﻧ :4 ﻝﺎﺜﻣ

.ﺩﻮﺷ ﯽﻣ ﻪﺘﺧﺎﻨﺷ ﯼﺯﺎﺳﺭﺍﺩﺮﺑ ﻥﺍﻮﻨﻋ ﻪﺑ ﻦﯾﺍ .ﺪﻨﮐ ﯽﻣ ﻩﺩﺎﻔﺘﺳﺍ ﻪﯾﺍﺭﺁ ﻞ

:ﺩﺮﮐ ﺪﯿﻫﺍﻮﺧ ﺭﺎﮐ ﺖﺳﺍ ﻩﺪﺷ ﻩﺩﺍﺩ ﻥﺎﺸﻧ ﺮﯾﺯ ﺭﺩ ﻪﮐ full_portfolio.csv ﻞﯾ

Company,Sector,Mon,Tue,Wed,Thu,Fri
Company_A,technology,100.5,101.2,102,101.8,112.5
Company_B,finance,200.1,199.8,200.5,201.0,200.8
Company_C,healthcare,50.3,50.5,51.0,50.8,51.2
Company_D,technology,110.5,101.2,102,111.8,97.5
Company_E,finance,200.1,200.8,200.5,211.0,200.8
Company_F,healthcare,55.3,50.5,53.0,50.8,52.2

.ﺩﺭﺍﺩ ﺍﺭ ﯽﻠﺒﻗ ﯼﺎﻨﻌﻣ ﻥﺎﻤﻫ ﻥﻮﺘﺳ ﺮﻫ ﻥﺍﻮﻨﻋ .ﺖﺳﺍ ﯽﻠﺒﻗ ﺶﺨﺑ ﺭﺩ ﻩﺩﺎﻔﺘﺳﺍ ﺩﺭﻮﻣ ﯼﺎﻫ ﻩﺪﻧﻭﺮ

:ﺪﻫﺩ ﯽﻣ ﻥﺎﺸﻧ ﻞﻤﻋ ﺭﺩ ﺍﺭ ﯼﺯﺎﺳﺭﺍﺩﺮﺑ ﺮﯾﺯ ﺪﮐ

>>> import numpy as np
>>> from pathlib import Path

>>> share_dtypes = [
...     ("company", "U20"),
...     ("sector", "U20"),
...     ("mon", "f8"),
...     ("tue", "f8"),
...     ("wed", "f8"),
...     ("thu", "f8"),
...     ("fri", "f8"),
... ]

>>> portfolio = np.loadtxt(
...     Path("full_portfolio.csv"),
...     delimiter=",",
...     dtype=share_dtypes,
...     skiprows=1,
... )

>>> portfolio["fri"] - portfolio["mon"]
array([ 12. ,   0.7,   0.9, -13. ,   0.7,  -3.1])

.ﺪﯿﻨﮐ ﯽﻣ ﻢﮐ ﻪﻌﻤﺟ ﯼﺎﻫ ﺖﻤﯿﻗ ﺯﺍ ﺍﺭ ﻪﺒﻨﺷﻭﺩ ﯼﺎﻫ ﺖﻤﯿﻗ ،ﯽﮕﺘﻔﻫ ﺕﺍﺮﯿﯿﻐﺗ ﻩﺪﻫﺎﺸﻣ ﯼﺍﺮﺑ .ﺖﺳ

.ﺖﺳﺍ ﯼﺯﺎﺳﺭﺍﺩﺮﺑ ﻦﯾﺍ .ﺪﻨﮐﯽﻣ ﺭﻮﺒﻋ ﺎﻬﻧﺁ ﻥﺎﯿﻣ ﺯﺍ ﻪﻧﺎﮔﺍﺪﺟ ﺕﺭﻮﺻ ﻪﺑ ﻪﮐ ﺪﯿﺷﺎﺑ ﻪﺘﺷﺍ

:ﺪﯿﻨﮐ ﻥﺎﺤﺘﻣﺍ ﺍﺭ ﺮﯾﺯ ﺩﺭﺍﻮﻣ ﺖﺳﺍ ﻦﮑﻤﻣ ، ﺭﺎﮐ ﻦﯾﺍ ﻡﺎﺠﻧﺍ ﯼﺍﺮﺑ .ﺪﻨﻨﮐ ﯽﻤﻧ ﻪﮐ ﺍﺭ ﯼﺩﺭﺍﻮﻣ

>>> def profit_with_bonus(first_day, last_day):
...     if last_day >= first_day * 1.01:
...         return (last_day - first_day) * 1.1
...     else:
...         return last_day - first_day
...
>>> profit_with_bonus(portfolio["mon"], portfolio["fri"])
Traceback (most recent call last):
  ...
ValueError: The truth value of an array with more than one element is ambiguous.
⮑ Use a.any() or a.all()

.ﺪﯿﻨﮐ ﯽﻣ ﻪﻓﺎﺿﺍ ﺵﺍﺩﺎﭘ ﻥﺍﻮﻨﻋ ﻪﺑ ﺍﺭ ﺮﮕﯾﺩ ٪ 10 ، ﺪﺷﺎﺑ ٪ 1 ﺯﺍ ﺶﯿﺑ ﺩﻮﺳ ﺮﮔﺍ .ﺪﻧﺍﺩﺮﮔ ﯽ

.ﺪﯾﻭﺮﺑ ﺐﻠﻄﻣ ﻪﻣﺍﺩﺍ ﻪﺑ ،ﺪﻨﮐ ﺭﺎﮐ ﺎﻫ ﻪﯾﺍﺭﺁ ﺎﺑ ﻊﺑﺎﺗ ﻦﯾﺍ ﻪﮑﻨﯾﺍ ﯼﺍﺮﺑ .ﺪﯿﻨﮐ ﻝﺎﺳﺭﺍ ﺩﺪﻋ

np.vectorize() ﺎﺑ ﺭﺍﺩﺮﺑ ﺩﺮﮑﻠﻤﻋ ﻥﺩﺮﮐ ﻪﻓﺎﺿﺍ

.ﺩﺮﯿﮔ ﯽﻣ ﯼﺩﻭﺭﻭ ﻥﺍﻮﻨﻋ ﻪﺑ ﺍﺭ ﺎﻫ ﻪﯾﺍﺭﺁ ﺮﻟﺎﮑﺳﺍ ﯼﺎﺟ ﻪﺑ ﻪﮐ ﯼﺍ ﻪﺨﺴﻧ ﺎﻣﺍ ،ﺪﻧﺍﺩﺮﮔ ﯽﻣﺮﺑ

:ﺪﻨﮐ ﯽﻣ ﻞﯾﺪﺒﺗ ﺭﺍﺩﺮﺑ ﺩﺮﮑﻠﻤﻋ ﮏﯾ ﻪﺑ ﺍﺭ ﺎﻤﺷ ﺩﺮﮑﻠﻤﻋ ﺮﯾﺯ ﺭﺩ ﻩﺪﺷ ﻩﺩﺍﺩ ﻥﺎﺸﻧ ﺪﮐ

>>> def profit_with_bonus(first_day, last_day):
...     if last_day >= first_day * 1.01:
...         return (last_day - first_day) * 1.1
...     else:
...         return last_day - first_day
...
>>> vectorized_profit_with_bonus = np.vectorize(profit_with_bonus)
>>> vectorized_profit_with_bonus(portfolio["mon"], portfolio["fri"])
array([ 13.2 ,   0.7 ,   0.99, -13.  ,   0.7 ,  -3.1 ])

.ﻡﺎﻧ ﻪﺑ ﺲﭙﺳ ﻩﺪﺷ ﺭﺍﺩﺮﺑ ﻪﺨﺴﻧ .ﺪﯿﻨﮐ ﯽﻣ

.ﺖﺴﯿﻧ 5 ﻪﺑ 1 ﻁﻮﻄﺧ ﺭﺩ ﯽﻠﺻﺍ ﺩﺮﮑﻠﻤﻋ ﺮﯿﯿﻐﺗ ﻪﺑ ﯼﺯﺎﯿﻧ ﻪﮐ ﺪﯿﻨﮐ ﻪﺟﻮﺗ .ﺪﯾﺍ ﻩﺩﺮﮐ ﺖﻓﺎﯾﺭﺩ

:ﺖﺳﺍ ﺱﺮﺘﺳﺩ ﺭﺩ ﺯﻮﻨﻫ ﻥﺁ ﻪﺑ ﺯﺎﯿﻧ ﺕﺭﻮﺻ ﺭﺩ ﯽﻠﺻﺍ ﺩﺮﮑﻠﻤﻋ ﻪﮐ ﺖﺳﺍ ﻦﯾﺍ ﺪﯿﺷﺎﺑ ﻪﺘﺷﺍﺩ ﻪﺟﻮﺗ

>>> in_profit(3, 5)
2.2

.ﺪﯿﻨﮐ ﺖﻓﺎﯾﺭﺩ ﺍﺭ 2.2 ﻪﺑ ﺍﺭ ٪10 ﺎﻤﺷ ،ﺖﺳﺍ 3 ﺯﺍ ٪1 ﺯﺍ ﺶﯿ

@np.vectorize ﺎﺑ ﺭﺍﺩﺮﺑ ﺩﺮﮑﻠﻤﻋ ﻥﺩﺮﮐ ﻪﻓﺎﺿﺍ

:ﺪﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ ﺭﻮﺗﺍﺭﻮﮐﺩ ﻥﺍﻮﻨﻋ ﻪﺑ np.vectorize ﺯﺍ ﻥﺁ ﯼﺎﺟ ﻪﺑ ﺪﯿﻧﺍﻮﺗ

>>> @np.vectorize
... def profit_with_bonus(first_day, last_day):
...     if last_day >= first_day * 1.01:
...         return (last_day - first_day) * 1.1
...     else:
...         return last_day - first_day
...
>>> profit_with_bonus(portfolio["mon"], portfolio["fri"])
array([ 13.2 ,   0.7 ,   0.99, -13.  ,   0.7 ,  -3.1 ])

.ﺪﻧﺍﺩﺮﮔ ﯽﻣ ﺯﺎﺑ ﻪﺘﺷﺬﮔ ﺪﻨﻧﺎﻣ ﺍﺭ ﺩﻮﺳ ﻪﯾﺍﺭﺁ ﻥﺎﻤﻫ ﻦﯾﺍ .ﺪﯿﻨﮐ ﻞﻘﺘﻨﻣ ﻥﺁ ﻪﺑ ﺍﺭ ﺩﻮﺧ ﯼﺎﻫ

:ﺪﯿﻧﺍﺩﺮﮔ ﯽﻣ ﺯﺎﺑ ﻪﯾﺍﺭﺁ ﮏﯾ ﻥﺍﻮﻨﻋ ﻪﺑ ﺍﺭ ﻪﺠﯿﺘﻧ ﺎﻣﺍ ﺩﺮﮐ ﺪﻫﺍﻮﺧ ﺭﺎﮐ ﻢﻫ ﺯﻮﻨﻫ ، ﺪﯿﻨﮐ ﻞﻘ

>>> in_profit(3, 5)
array(2.2)

.ﺖﺳﺍ ﻪﯾﺍﺭﺁ ﮏﯾ ﺭﺎﺑ ﻦﯾﺍ ﯽﺟﻭﺮﺧ ،ﺪﯿﻨﯿﺑ ﯽﻣ ﻪﮐ ﺭﻮﻄﻧﺎﻤﻫ

np.where() ﺎﺑ ﺩﻮﺟﻮﻣ ﯼﺯﺎﺳ ﺭﻮﺘﮐﻭ ﺩﺮﮑﻠﻤﻋ ﺯﺍ ﻩﺩﺎﻔﺘﺳﺍ ﺎﺑ

:ﺪﯿﻨﮐ ﺏﺎﺴﺣ ﻢﻈﻨﻣ ﺩﻮﺳ ﺩﺭﻮﻣ ﻢﻫ ﻭ ﺵﺍﺩﺎﭘ ﺩﺭﻮﻣ ﻭﺩ ﺮﻫ ﯼﺍﺮﺑ ﻢﻫ ، ﺩﻮﺧ ﺩﺮﮑﻠﻤﻋ ﻦﺘﺷﻮﻧ ﯼﺎﺟ

>>> np.where(
...     portfolio["fri"] > portfolio["mon"] * 1.01,
...     (portfolio["fri"] - portfolio["mon"]) * 1.1,
...     portfolio["fri"] - portfolio["mon"],
... )
array([ 13.2 ,   0.7 ,   0.99, -13.  ,   0.7 ,  -3.1 ])

.ﺖﺳﺍ ﻩﺩﺎﺳ ﺩﻮﺳ ﻡﻭﺩ ﻪﮐ ﯽﻟﺎﺣ ﺭﺩ ، ﺪﻫﺩ ﯽﻣ ﻥﺎﺸﻧ ﻩﺪﺷ ﻪﻓﺎﺿﺍ ﺵﺍﺩﺎﭘ ٪ 10 ﺎﺑ ﺍﺭ ﺩﻮﺳ ﯽﻟﻭﺍ

.ﺪﻨﮐ ﯽﻣ ﺏﺎﺨﺘﻧﺍ ﻡﻭﺩ ﺖﻤﺴﻗ ﺯﺍ ﺍﺭ ﺮﺼﻨﻋ ، ﺖﺳﺍ false ﺮﮔﺍ ﻭ ، ﺪﻨﮐ ﯽﻣ ﻩ

ﺭﺍﺩﺮﺑ ﺩﺮﮑﻠﻤﻋ ﮏﯾ ﻦﺘﺷﻮﻧ :ﺩﻮﺧ ﯼﺎﻫ ﺕﺭﺎﻬﻣ ﺖﺴﺗ

ﺪﯾﺍ ﻩﺪﺷ ﻡﺎﻤﺗ ﺎًﺒﯾﺮﻘﺗ ﺎﻤﺷ .ﺪﯿﻧﺰﺑ ﻪﺟﺮﯿﺷ ﺩﻮﺧ ﯽﯾﺎﻬﻧ ﻦﯾﺮﻤﺗ ﺶﻟﺎﭼ ﻪﺑ ﻪﮐ ﺖﺳﺍ ﻥﺁ ﺖﻗﻭ

.ﺪﯾﺯﺎﺴﺑ ﺭﺎﮐ ﻪﻣﺍﺩﺍ ﺯﺍ ﻞﺒﻗ ،ﯽﺒﺗﺍﺮﻣ ﻪﻠﺴﻠﺳ ﯼﺎﻫﻩﺩﺍﺩ ﻞﯿﻠﺤﺗ ﻭ ﻪﯾﺰﺠﺗ ﻦﯾﺮﻤﺗ ﻞﺣ

.ﺪﯿﻧﺰﺑ ﺍﺪﺻ ﺩﻮﺧ ﯽﻠﺻﺍ ﻡﺎﻧ ﺎﺑ ﺍﺭ ﺩﻮﺧ ﻊﺑﺎﺗ ﻩﺪﺷ ﯼﺭﺍﺩﺮﺑ ﻪﺨﺴﻧ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ﻪﮐ ﺪﯿﻨﮐ ﻞﺻﺎﺣ

:ﺪﺷﺎﺑ ﻦﯾﺍ ﻪﺑ ﻪﯿﺒﺷ ﯼﺰﯿﭼ ﺪﻧﺍﻮﺗ ﯽﻣ ﺎﻤﺷ ﻪﯿﻟﻭﺍ ﺩﺮﮑﻠﻤﻋ ،ﻉﻭﺮﺷ ﻪﻄﻘﻧ ﮏﯾ ﻥﺍﻮﻨﻋ ﻪﺑ

>>> def find_min_max(first, second, third):
...     min_temp = min(first, second, third)
...     max_temp = max(first, second, third)
...     return min_temp, max_temp

>>> find_min_max(2, 1, 3)
(1, 3)

:ﺪﻨﮐ ﯽﻤﻧ ﺭﺎﮐ ، ﺪﯿﻨﮐ ﻥﺎﺤﺘﻣﺍ ﺩﻮﺧ weather_data ﻪﯾﺍﺭﺁ ﯼﺎﻫ ﻩﺩﺍﺩ ﺯﺍ ﻩ

>>> london_temps = weather_data["london"]
>>> new_york_temps = weather_data["new_york"]
>>> rome_temps = weather_data["rome"]

>>> find_min_max(london_temps, new_york_temps, rome_temps)
>>> # ...
ValueError: The truth value of an array with more than one element is ambiguous.

.ﺪﯿﻨﮐ ﺯﻭﺭ ﻪﺑ ﺍﺭ ﻥﺁ ﺪﯾﺎﺑ ﺎﻫ ﻪﯾﺍﺭﺁ ﺎﺑ ﺭﺎﮐ ﯼﺍﺮﺑ .ﺪﯾﺍ ﻩﺩﺮﮐ ﺡﺮﻄﻣ ﺍﺭ ValueErr

:ﺪﺷﺎﺑ ﻦﯾﺍ ﺪﻧﺍﻮﺗ ﯽﻣ @np.vectorize ﺯﺍ ﻩﺩﺎﻔﺘﺳﺍ ﺎﺑ ﻦﮑﻤﻣ ﻞﺣ ﻩﺍﺭ ﮏﯾ

>>> @np.vectorize
... def find_min_max(first, second, third):
...     min_temp = min(first, second, third)
...     max_temp = max(first, second, third)
...     return min_temp, max_temp

>>> london_temps = weather_data["london"]
>>> new_york_temps = weather_data["new_york"]
>>> rome_temps = weather_data["rome"]

>>> find_min_max(london_temps, new_york_temps, rome_temps)
(array([ 2,  2,  4, 11, 14, 16, 19, 19, 17, 13, 10,  7]),
⮑ array([ 8,  9, 12, 14, 21, 23, 26, 24, 22, 18, 13, 10]))

.ﺪﻧﺍﺩﺮﮔ ﯽﻣﺮﺑ ﻪﯾﺍﺭﺁ ﻭﺩ ﺭﺩ ﺍﺭ ﻪﺠﯿﺘﻧ ﻭ ﺪﻨﮐ ﯽﻣ ﻩﺩﺎﻔﺘﺳﺍ ﻩﺎﻣ ﺮﻫ ﯼﺍﺮﺑ ﺮﺼﻨﻋ ﻪﺳ ﺯﺍ ﮏﯾ ﺮ

:ﺪﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ np.vectorize() ﺯﺍ ﻥﺁ ﯼﺎﺟ ﻪﺑ ﻭ ﺪﯾﺩﺮﮔﺮﺑ ﺩﻮﺧ ﯽﻠﺻﺍ ﻊﺑﺎﺗ

>>> def find_min_max(first, second, third):
...     min_temp = min(first, second, third)
...     max_temp = max(first, second, third)
...     return min_temp, max_temp

>>> london_temps = weather_data["london"]
>>> new_york_temps = weather_data["new_york"]
>>> rome_temps = weather_data["rome"]

>>> find_min_max = np.vectorize(find_min_max)
>>> find_min_max(london_temps, new_york_temps, rome_temps)
(array([ 2,  2,  4, 11, 14, 16, 19, 19, 17, 13, 10,  7]),
⮑ array([ 8,  9, 12, 14, 21, 23, 26, 24, 22, 18, 13, 10]))

.ﺪﯿﻨﮐ ﯽﻣ ﻝﺎﺳﺭﺍ ﺎًﻤﯿﻘﺘﺴﻣ ﺍﺭ ﺍﻮﻫ ﻭ ﺏﺁ ﯼﺎﻫ ﻩﺩﺍﺩ ﺯﺍ ﻪﯾﺍﺭﺁ ﻪﺳ ،ﯼﺭﺍﺩﺮﺑ ﻪﺨﺴﻧ ﻦﯾﺍ ﯽﻧﺍﻮﺧ


تمامی حقوق محفوظ است. © Python-3.com • 2024-2025