You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Data-Science-For-Beginners/translations/pa/2-Working-With-Data/07-python/README.md

285 lines
43 KiB

# ਡਾਟਾ ਨਾਲ ਕੰਮ ਕਰਨਾ: Python ਅਤੇ Pandas ਲਾਇਬ੍ਰੇਰੀ
| ![ Sketchnote by [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/07-WorkWithPython.png) |
| :-------------------------------------------------------------------------------------------------------: |
| Python ਨਾਲ ਕੰਮ ਕਰਨਾ - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
[![Intro Video](../../../../translated_images/pa/video-ds-python.245247dc811db8e4.webp)](https://youtu.be/dZjWOGbsN4Y)
ਜਦੋਂ ਕਿ ਡਾਟਾਬੇਸ ਡਾਟਾ ਸਟੋਰ ਕਰਨ ਅਤੇ ਕੁਏਰੀ ਭਾਸ਼ਾਵਾਂ ਦੀ ਵਰਤੋਂ ਨਾਲ ਉਹਨਾਂ ਉੱਤੇ ਕੁਏਰੀ ਕਰਨ ਦੇ ਬਹੁਤ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਤਰੀਕੇ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ, ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਦਾ ਸਭ ਤੋਂ ਲਚਕੀਲਾ ਤਰੀਕਾ ਆਪਣਾ ਖੁਦ ਦਾ ਪ੍ਰੋਗਰਾਮ ਲਿਖ ਕੇ ਡਾਟਾ ਨੂੰ ਮੈਨਿਪੁਰਲੇਟ ਕਰਨਾ ਹੈ। ਬਹੁਤ ਸਾਰੀਆਂ ਸਥਿਤੀਆਂ ਵਿੱਚ, ਡਾਟਾਬੇਸ ਕੁਏਰੀ ਕਰਨੀ ਜ਼ਿਆਦਾ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਹੁੰਦੀ ਹੈ। ਪਰ ਕੁਝ ਮਾਮਲਿਆਂ ਵਿੱਚ, ਜਦੋਂ ਹੋਰ ਜਟਿਲ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਇਹ ਕੰਮ SQL ਵਰਤ ਕੇ ਆਸਾਨੀ ਨਾਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।
ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਕਿਸੇ ਵੀ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਵਿੱਚ ਪ੍ਰੋਗਰਾਮ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਪਰ ਕੁਝ ਭਾਸ਼ਾਵਾਂ ਡਾਟਾ ਨਾਲ ਕੰਮ ਕਰਨ ਦੇ ਸੰਦਰਭ ਵਿੱਚ ਉੱਚ ਸਤਰ ਦੀਆਂ ਮੰਨੀ ਜਾਂਦੀਆਂ ਹਨ। ਡਾਟਾ ਸਾਇੰਟੀਸਿਟਸ ਆਮ ਤੌਰ 'ਤੇ ਹੇਠਾਂ ਦਿੱਤੀਆਂ ਵਿੱਚੋਂ ਕਿਸੇ ਇੱਕ ਭਾਸ਼ਾ ਨੂੰ ਪਸੰਦ ਕਰਦੇ ਹਨ:
* **[Python](https://www.python.org/)**, ਇੱਕ ਜਨਰਲ-ਪਰਪਜ਼ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ, ਜੋ ਆਮ ਤੌਰ ਤੇ ਆਪਣੀ ਸਾਦਗੀ ਕਰਕੇ ਸ਼ੁਰੂਆਤੀ ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ ਵਿਕਲਪਾਂ ਵਿੱਚੋਂ ਇੱਕ ਮੰਨੀ ਜਾਂਦੀ ਹੈ। Python ਕੋਲ ਕਈ ਵਾਧੂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਹਨ ਜੋ ਤੁਹਾਡੇ ਲਈ ਬਹੁਤ ਸਾਰੇ ਆਮ ਮਸਲੇ ਹੱਲ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦੀਆਂ ਹਨ, ਜਿਵੇਂ ਕਿ ZIP ਆਰਕਾਈਵ ਤੋਂ ਡਾਟਾ ਕੱਢਣਾ ਜਾਂ ਤਸਵੀਰ ਨੂੰ ਗ੍ਰੇਸਕੇਲ ਵਿੱਚ ਪਰਿਵਰਤਿਤ ਕਰਨਾ। ਡਾਟਾ ਸਾਇੰਸ ਤੋਂ ਇਲਾਵਾ, Python ਅਕਸਰ ਵੈੱਬ ਵਿਕਾਸ ਲਈ ਵੀ ਵਰਤੀ ਜਾਂਦੀ ਹੈ।
* **[R](https://www.r-project.org/)** ਇੱਕ ਪਾਰੰਪਰਿਕ ਟੂਲਬਾਕਸ ਹੈ ਜੋ ਸਾਂਖਿਆਕੀ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਸ ਵਿੱਚ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦਾ ਵੱਡਾ ਜਥਾ (CRAN) ਹੈ, ਜੋ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਲਈ ਇੱਕ ਵਧੀਆ ਚੋਣ ਹੈ। ਪਰ R ਜਨਰਲ-ਪਰਪਜ਼ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਨਹੀਂ ਹੈ ਅਤੇ ਅਕਸਰ ਡਾਟਾ ਸਾਇੰਸ ਡੋਮੇਨ ਤੋਂ ਬਾਹਰ ਵਰਤੀ ਨਹੀਂ ਜਾਂਦੀ।
* **[Julia](https://julialang.org/)** ਇੱਕ ਹੋਰ ਭਾਸ਼ਾ ਹੈ ਜੋ ਖਾਸ ਕਰਕੇ ਡਾਟਾ ਸਾਇੰਸ ਲਈ ਵਿਕਸਤ ਕੀਤੀ ਗਈ ਹੈ। ਇਹ Python ਨਾਲੋਂ ਬਿਹਤਰ ਪ੍ਰਦਰਸ਼ਨ ਦੇਣ ਲਈ ਬਣਾਈ ਗਈ ਹੈ, ਜੋ ਕਿ ਵਿਗਿਆਨਕ ਪ੍ਰਯੋਗਾਂ ਲਈ ਇਕ ਸ਼ਾਨਦਾਰ ਟੂਲ ਹੈ।
ਇਸ ਪਾਠ ਵਿੱਚ, ਅਸੀਂ ਸਾਦੀ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਲਈ Python ਦੀ ਵਰਤੋਂ 'ਤੇ ਧਿਆਨ ਕੇਂਦ੍ਰਿਤ ਕਰਾਂਗੇ। ਅਸੀਂ ਭਾਸ਼ਾ ਦੀ ਮੂਲ ਜਾਣਕਾਰੀ ਮੰਨ ਕੇ ਚਲਾਂਗੇ। ਜੇ ਤੁਸੀਂ Python ਦਾ ਹੋਰ ਵਿਸਥਾਰ ਵਿੱਚ ਜਾਣਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੀਆਂ ਕਿਸੇ ਇੱਕ ਸਰੋਤ ਤੋਂ ਸਹਾਇਤਾ ਲੈ ਸਕਦੇ ਹੋ:
* [Learn Python in a Fun Way with Turtle Graphics and Fractals](https://github.com/shwars/pycourse) - GitHub-ਅਧਾਰਿਤ Python ਪ੍ਰੋਗਰਾਮਿੰਗ ਵਿੱਚ ਤੇਜ਼ ਇੰਤ੍ਰੋ ਕੋਰਸ
* [Take your First Steps with Python](https://docs.microsoft.com/en-us/learn/paths/python-first-steps/?WT.mc_id=academic-77958-bethanycheum) [Microsoft Learn](http://learn.microsoft.com/?WT.mc_id=academic-77958-bethanycheum) 'ਤੇ ਸਿੱਖਣ ਦਾ ਰਸਤਾ
ਡਾਟਾ ਕਈ ਸਰੂਪਾਂ ਵਿੱਚ ਹੋ ਸਕਦਾ ਹੈ। ਇਸ ਪਾਠ ਵਿੱਚ, ਅਸੀਂ ਤਿੰਨ ਪ੍ਰਕਾਰ ਦੇ ਡਾਟਾ 'ਤੇ ਵਿਚਾਰ ਕਰਾਂਗੇ - **ਟੈਬੂਲਰ ਡਾਟਾ**, **ਟੈਕਸਟ** ਅਤੇ **ਤਸਵੀਰਾਂ**।
ਅਸੀਂ ਕੁਝ ਉਦਾਹਰਨਾਂ 'ਤੇ ਧਿਆਨ ਦੇਵਾਂਗੇ ਜਿੱਥੇ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਦਿਖਾਈ ਜਾਵੇਗੀ, ਨਾ ਕਿ ਸਾਰੇ ਸੰਬੰਧਿਤ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦਾ ਪੂਰਾ ਜਾਇਜ਼ਾ ਦੇਵਾਂਗੇ। ਇਸ ਨਾਲ ਤੁਹਾਨੂੰ ਮੁੱਖ ਵਿਚਾਰ ਮਿਲੇਗਾ ਕਿ ਕੀ ਸੰਭਵ ਹੈ, ਅਤੇ ਤੁਸੀਂ ਸਮੱਸਿਆਵਾਂ ਦੇ ਹੱਲ ਲੱਭਣ ਲਈ ਕਿੱਥੇ ਵੇਖਣਾ ਹੈ ਇਹ ਸਮਝਣ ਵਿੱਚ ਸਹਾਇਤਾ ਮਿਲੇਗੀ।
> **ਸਭ ਤੋਂ ਲਾਭਦਾਇਕ ਸਲਾਹ**: ਜਦੋਂ ਤੁਹਾਨੂੰ ਡਾਟਾ 'ਤੇ ਕੋਈ ਖਾਸ ਕਾਰਵਾਈ ਕਰਨੀ ਹੋ ਜਿਹੜੀ ਤੁਹਾਨੂੰ ਨਹੀਂ ਆਉਂਦੀ, ਤਾਂ ਇੰਟਰਨੇਟ 'ਤੇ ਉਸ ਦੀ ਖੋਜ ਕਰੋ। [Stackoverflow](https://stackoverflow.com/) ਅਮੂਮਨ Python ਵਿੱਚ ਬਹੁਤ ਸਾਰੇ ਕੂੜਾ ਕੋਡ ਦੇ ਨਮੂਨੇ ਰੱਖਦਾ ਹੈ ਜੋ ਬਹੁਤ ਸਾਰੇ ਆਮ ਕੰਮਾਂ ਲਈ ਲਾਭਦਾਇਕ ਹੁੰਦੇ ਹਨ।
## [ਪਹਿਲੇ ਵਿਦਿਆਰਥੀ ਟੈਸਟ](https://ff-quizzes.netlify.app/en/ds/quiz/12)
## ਟੈਬੂਲਰ ਡਾਟਾ ਅਤੇ ਡਾਟਾਫਰੇਮਜ਼
ਜਦੋਂ ਅਸੀਂ ਸੰਬੰਧਿਤ ਡਾਟਾਬੇਸਾਂ ਬਾਰੇ ਗੱਲ ਕੀਤੀ ਸੀ, ਤਦੋਂ ਤੁਸੀਂ ਪਹਿਲਾਂ ਹੀ ਟੈਬੂਲਰ ਡਾਟਾ ਨਾਲ ਮਿਲੇ ਹੋ। ਜਦੋਂ ਤੁਹਾਡੇ ਕੋਲ ਬਹੁਤ ਸਾਰਾ ਡਾਟਾ ਹੁੰਦਾ ਹੈ ਅਤੇ ਇਹ ਬਹੁਤ ਸਾਰੀਆਂ ਵੱਖ-ਵੱਖ ਲਿੰਕ ਕੀਤੀਆਂ ਟੇਬਲਾਂ ਵਿੱਚ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਇਸ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ SQL ਵਰਤਣਾ ਵਾਜਬ ਹੁੰਦਾ ਹੈ। ਪਰ ਬਹੁਤ ਸਾਰੀਆਂ ਸਥਿਤੀਆਂ ਹੁੰਦੀਆਂ ਹਨ ਜਿੱਥੇ ਸਾਡੇ ਕੋਲ ਡਾਟਾ ਦੀ ਇੱਕ ਟੇਬਲ ਹੁੰਦੀ ਹੈ ਅਤੇ ਸਾਨੂੰ ਇਸ ਡਾਟਾ ਬਾਰੇ ਕੁਝ **ਸਮਝ** ਜਾਂ **ਜਾਣਕਾਰੀ** ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਵੰਡ, ਮੁੱਲਾਂ ਵਿਚਕਾਰ ਸੰਬੰਧ, ਆਦਿ। ਡਾਟਾ ਸਾਇੰਸ ਵਿੱਚ ਕਈ ਵਾਰ ਸਾਨੂੰ ਮੂਲ ਡਾਟਾ ਵਿੱਚ ਕੁਝ ਤਬਦੀਲੀਆਂ ਕਰਨੀ ਪੈਂਦੀਆਂ ਹਨ, ਜਿਸ ਤੋਂ ਬਾਅਦ ਵਿਜ਼ੁਅਲਾਈਜ਼ੇਸ਼ਨ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਨ੍ਹਾਂ ਦੋਹਾਂ ਕਦਮਾਂ ਨੂੰ ਆਸਾਨੀ ਨਾਲ Python ਦੀ ਵਰਤੋਂ ਨਾਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
Python ਵਿੱਚ ਦੋ ਸਭ ਤੋਂ ਲਾਭਦਾਇਕ ਲਾਇਬ੍ਰੇਰੀਆਂ ਹਨ ਜੋ ਤੁਹਾਨੂੰ ਟੈਬੂলਰ ਡਾਟਾ ਨਾਲ ਕੰਮ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦੀਆਂ ਹਨ:
* **[Pandas](https://pandas.pydata.org/)** ਤੁਹਾਨੂੰ ਕਹੇ ਜਾਂਦੇ **ਡਾਟਾਫਰੇਮ** ਨੂੰ ਮੈਨਿਪੁਰਲੇਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜੋ ਸੰਬੰਧਿਤ ਟੇਬਲਾਂ ਵਰਗੇ ਹਨ। ਤੁਸੀਂ ਨਾਂਵ ਵਾਲੇ ਕਾਲਮ ਹੋ ਸਕਦੇ ਹੋ, ਅਤੇ ਸਤਰਾਂ, ਕਾਲਮਾਂ ਅਤੇ ਆਮ ਤੌਰ 'ਤੇ ਡਾਟਾਫਰੇਮਾਂ ਉੱਤੇ ਵੱਖ-ਵੱਖ ਕਾਰਵਾਈਆਂ ਕਰ ਸਕਦੇ ਹੋ।
* **[Numpy](https://numpy.org/)** **ਟੈਨਸਰਾਂ**, ਯਾਨੀ ਬਹੁ-ਮਾਤਰਾ ਵਾਲੇ **ਐਰੇਜ਼** ਦੇ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ ਹੈ। ਐਰੇ ਵਿੱਚ ਇੱਕੋ ਕਿਸਮ ਦੇ ਮੁੱਲ ਹੁੰਦੇ ਹਨ, ਅਤੇ ਇਹ ਡਾਟਾਫਰੇਮ ਨਾਲੋਂ ਸਧਾਰਣ ਹੁੰਦਾ ਹੈ, ਪਰ ਇਹ ਹੋਰ ਗਣਿਤੀ ਕਾਰਵਾਈਆਂ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਘੱਟ ਓਹਦਾ ਪੈਦਾ ਕਰਦਾ ਹੈ।
ਕੁਝ ਹੋਰ ਲਾਇਬ੍ਰੇਰੀਆਂ ਵੀ ਹਨ ਜੋ ਤੁਹਾਨੂੰ ਜਾਣਨੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ:
* **[Matplotlib](https://matplotlib.org/)** ਡਾਟਾ ਵਿਜ਼ੁਅਲਾਈਜ਼ੇਸ਼ਨ ਅਤੇ ਗ੍ਰਾਫ ਪਲਾਟਿੰਗ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ ਹੈ
* **[SciPy](https://www.scipy.org/)** ਕੁਝ ਵਾਧੂ ਵਿਗਿਆਨਕ ਕਾਰਜਾਂ ਲਈ ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ ਹੈ। ਅਸੀਂ ਇਸ ਲਾਇਬ੍ਰੇਰੀ ਨਾਲ ਪਹਿਲਾਂ ਪ੍ਰਬਾਬਿਲਿਟੀ ਅਤੇ ਸਾਂਖਿਆਕ ਦੀ ਗੱਲ ਕਰਦੇ ਸਮੇਂ ਮਿਲ ਚੁੱਕੇ ਹਾਂ।
ਹੇਠਾਂ ਇੱਕ ਕੋਡ ਦਾ ਹਿੱਸਾ ਹੈ ਜੋ ਤੁਸੀਂ ਆਮ ਤੌਰ ਤੇ ਆਪਣੇ Python ਪ੍ਰੋਗਰਾਮ ਦੀ ਸ਼ੁਰੂਆਤ ਵਿੱਚ ਇਹਨਾਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਇੰਪੋਰਟ ਕਰਨ ਲਈ ਵਰਤੋਗੇ:
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import ... # ਤੁਹਾਨੂੰ ਜ਼ਰੂਰੀ ਸਬ-ਪੈਕੇਜਾਂ ਦੀ ਸਹੀ специਫਿਕੇਸ਼ਨ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਚਾਹੀਦੇ ਹਨ
```
Pandas ਰਣਾਂ 'ਤੇ ਕੇਂਦ੍ਰਿਤ ਹੈ।
### ਸੀਰੀਜ਼
**** ੁੱਾਂ ਲੜ ੁੰ , ਿਸਟ ਾਂ numpy ਐਰ ਾਂ ੈ। ੁੱ ਫਰਕ ਇਹ ਿ **ਕਸ** ੁੰ , ਜਦੋਂ ਅਸੀਂ ਼ਾਂ 'ਤੇ ਕਾਰਵਾਈ ਕਰਦੇ ਹਾਂ (ਜਿਵੇਂ, ਜੋੜਣਾ), ਤਾਂ ਇੰਡੈਕਸ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ। ਇੰਡੈਕਸ ਬਹੁਤ ਸਧਾਰਨ integer ਨੰਬਰ (ਜੋ ਆਮ ਤੌਰ ' ि ਾਂ ਐਰ ੋਂ ਬਣਿ ਵਰਤਿ ਾਂ ) ਸਕਦ ਾਂ ਇਹ ਜਟਿ ਰਚਨ ਸਕਦ , ਿੇਂ ਿ ਕਟੀ।
> ****: ਸਰ ਿੱ ਗਈ ਟਬੁੱ [`notebook.ipynb`](notebook.ipynb) ਿੱ ਿ Pandas ੈ। ਅਸੀਂ ਵਲ ਉਦਹਰਨਾਂ ਕਰਦ ਾਂ, ਅਤ ੀਂ ਟਬੁੱ ਸਕਦ ੋ।
ਉਦਹਰਨ ਲਓ: ਅਸੀਂ ਆਪਣ ਆਈਸਕ ਿਕਰ ਿਸਲ ਕਰਨ ੁੰ ਾਂ। ਆਓ ਿ ਸਮੇਂ ਕਣਿ 'ਤੇ ਵਿਕਰੀ ਦੇ ਨੰਬਰ (ਹਰ ਦਿਨ ਵੇਚੇ ਗਏ ਆਈਟਮਾਂ ਦੀ ਗਿਣਤੀ) ਦੀ ਇੱਕ ਸੀਰੀਜ਼ ਤਿਆਰ ਕਰੀਏ:
```python
start_date = "Jan 1, 2020"
end_date = "Mar 31, 2020"
idx = pd.date_range(start_date,end_date)
print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
![ਟਾਈਮ ਸੀਰੀਜ਼ ਪਲਾਟ](../../../../translated_images/pa/timeseries-1.80de678ab1cf727e.webp)
ਹੁਣ ਧਰੋ ਕਿ ਹਰ ਹਫ਼ਤੇ ਅਸੀਂ ਦੋਸਤਾਂ ਲਈ ਇੱਕ ਪਾਰਟੀ ਕਰਦੇ ਹਾਂ, ਅਤੇ ਅਸੀਂ ਪਾਰਟੀ ਲਈ ਵਾਧੂ 10 ਪੈਕ ਆਈਸਕ੍ਰੀਮ ਲੈ ਜਾਂਦੇ ਹਾਂ। ਅਸੀਂ ਇੱਕ ਹੋਰ ਸੀਰੀਜ਼ ਬਣਾ ਸਕਦੇ ਹਾਂ, ਜੋ ਕਿ ਹਫ਼ਤੇ ਨਾਲ ਇੰਡੈਕਸ ਹੈ, ਜਿਸ ਨਾਲ ਇਹ ਦਰਸਾ ਸਕੀਏ:
```python
additional_items = pd.Series(10,index=pd.date_range(start_date,end_date,freq="W"))
```
ਜਦੋਂ ਅਸੀਂ ਦੋ ਸੀਰੀਜ਼ਾਂ ਨੂੰ ਜੋੜਦੇ ਹਾਂ, ਤਾਂ ਸਾਨੂੰ ਕੁੱਲ ਨੰਬਰ ਮਿਲਦਾ ਹੈ:
```python
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
![ਟਾਈਮ ਸੀਰੀਜ਼ ਪਲਾਟ](../../../../translated_images/pa/timeseries-2.aae51d575c55181c.webp)
> **ਨੋਟ** ਕਿ ਅਸੀਂ ਸਧਾਰਨ ਲਿਖਤ `total_items+additional_items` ਨਹੀਂ ਵਰਤ ਰਹੇ। ਜੇ ਅਸੀਂ ਇਹ ਕੀਤਾ, ਤਾਂ ਨਤੀਜੇ ਵਜੋਂ ਬਹੁਤ ਸਾਰੇ `NaN` (*Not a Number*) ਮੁੱਲ ਮਿਲਦੇ। ਇਹ ਇਸ ਕਰਕੇ ਹੈ ਕਿ `additional_items` ਸੀਰੀਜ਼ ਵਿੱਚ ਕੁਝ ਇੰਡੈਕਸ ਪੌਇੰਟਾਂ ਲਈ ਮੁੱਲ ਨਹੀਂ ਹਨ, ਅਤੇ `NaN` ਨੂੰ ਕਿਸੇ ਵੀ ਕੁਝ ਜੋੜਨ ਨਾਲ ਫਿਰ `NaN` ਹੀ ਬਣਦਾ ਹੈ। ਇਸ ਲਈ ਜੋੜਨ ਸਮੇਂ `fill_value` ਪੈਰਾਮੀਟਰ ਦੱਸਣਾ ਜਰੂਰੀ ਹੈ।
ਟਾਈਮ ਸੀਰੀਜ਼ ਨਾਲ, ਅਸੀਂ ਸੀਰੀਜ਼ ਨੂੰ ਵੱਖ-ਵੱਖ ਸਮੇਂ ਦੇ ਅੰਤਰਾਲਾਂ ਨਾਲ ਵੀ **ਰਿਸੈਂਪਲ** ਕਰ ਸਕਦੇ ਹਾਂ। ਉਦਾਹਰਨ ਵੱਜੋਂ, ਧਰੋ ਅਸੀਂ ਮਹੀਨਾਵਾਰ ਮੰਡੀ ਵਾਲੀ ਮਾਤਰਾ (ਸੇਲਜ਼ ਵਾਲਿਊਮ) ਦਾ ਮੱਧ ਮੁੱਲ ਕੱਢਣਾ ਚਾਹੁੰਦੇ ਹਾਂ। ਅਸੀਂ ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਵਰਤ ਸਕਦੇ ਹਾਂ:
```python
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
![ਮਾਸਿਕ ਟਾਈਮ ਸੀਰੀਜ਼ ਔਸਤ](../../../../translated_images/pa/timeseries-3.f3147cbc8c624881.webp)
### ਡਾਟਾ ਫਰੇਮ
ਡਾਟਾ ਫਰੇਮ ਅਸਲ ਵਿੱਚ ਇੱਕ ਅਜਿਹਾ ਸੰਗ੍ਰਹਿ ਹੈ ਜੋ ਇੱਕੋ ਜਿਹਾ ਇੰਡੈਕਸ ਰੱਖਣ ਵਾਲੀ ਕਈ ਸੀਰੀਜ਼ਾਂ ਦਾ ਹੁੰਦਾ ਹੈ। ਅਸੀਂ ਕਈ ਸੀਰੀਜ਼ਾਂ ਨੂੰ ਇਕੱਠੇ ਮਿਲਾ ਕੇ ਇੱਕ ਡਾਟਾ ਫਰੇਮ ਬਣਾ ਸਕਦੇ ਹਾਂ:
```python
a = pd.Series(range(1,10))
b = pd.Series(["I","like","to","play","games","and","will","not","change"],index=range(0,9))
df = pd.DataFrame([a,b])
```
ਇਸ ਨਾਲ ਇੱਕ ਹੁੱਡੀ ਵਿੱਚਲਾ ਟੇਬਲ ਬਣੇਗਾ, ਇਸ ਤਰ੍ਹਾਂ:
| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| --- | --- | ---- | --- | --- | ------ | --- | ------ | ---- | ---- |
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | I | like | to | use | Python | and | Pandas | very | much |
ਅਸੀਂ ਸੀਰੀਜ਼ ਨੂੰ ਕਾਲਮ ਵਜੋਂ ਵੀ ਵਰਤ ਸਕਦੇ ਹਾਂ ਅਤੇ ਡਿਕਸ਼ਨਰੀ ਤਰ੍ਹਾਂ ਕਾਲਮ ਨਾਂ ਵਰਤ ਕੇ ਨਾਂਵੀਂ ਨਿਰਧਾਰਿਤ ਕਰ ਸਕਦੇ ਹਾਂ:
```python
df = pd.DataFrame({ 'A' : a, 'B' : b })
```
ਇਸ ਨਾਲ ਸਾਨੂੰ ਇਹ ਟੇਬਲ ਮਿਲੇਗਾ:
| | A | B |
| --- | --- | ------ |
| 0 | 1 | I |
| 1 | 2 | like |
| 2 | 3 | to |
| 3 | 4 | use |
| 4 | 5 | Python |
| 5 | 6 | and |
| 6 | 7 | Pandas |
| 7 | 8 | very |
| 8 | 9 | much |
**ਨੋਟ** ਕਿ ਅਸੀਂ ਇਹ ਟੇਬਲ ਖੁਦ ਪਹਿਲਾ ਵਾਲਾ ਟੇਬਲ ਟ੍ਰਾਂਸਪੋਜ਼ ਕਰਕੇ ਵੀ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹਾਂ, ਜਿਵੇਂ ਕਿ ਲਿਖ ਕੇ
```python
df = pd.DataFrame([a,b]).T..rename(columns={ 0 : 'A', 1 : 'B' })
```
ਇੱਥੇ `.T` ਦਾ ਅਰਥ ਡਾਟਾ ਫਰੇਮ ਦਾ ਟ੍ਰਾਂਸਪੋਜ਼ ਕਰਨਾ ਹੈ, ਜਿਸ ਦਾ ਮਤਲਬ ਸਤਰ ਅਤੇ ਕਾਲਮ ਬਦਲ ਜਾਣਾ ਹੁੰਦਾ ਹੈ, ਅਤੇ `rename` ਕਾਰਵਾਈ ਸਾਨੂੰ ਕਾਲਮਾਂ ਦੇ ਨਾਮ ਪਹਿਲਾਂ ਦੀ ਤਰ੍ਹਾਂ ਦੇਣ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ।
ਡਾਟਾ ਫਰੇਮਾਂ 'ਤੇ ਅਸੀਂ ਕੁਝ ਬਹੁਤ ਮਤਵਪੂਰਣ ਕਾਰਵਾਈਆਂ ਕਰ ਸਕਦੇ ਹਾਂ:
**ਕਾਲਮ ਚੋਣ**। ਅਸੀਂ `df['A']` ਲਿਖ ਕੇ ਵਿਅਕਤੀਗਤ ਕਾਲਮਾਂ ਚੁਣ ਸਕਦੇ ਹਾਂ - ਇਸ ਕਾਰਵਾਈ ਨਾਲ ਇੱਕ ਸੀਰੀਜ਼ ਮਿਲਦੀ ਹੈ। ਅਸੀਂ `df[['B','A']]` ਲਿਖ ਕੇ ਕਾਲਮਾਂ ਦੇ ਇੱਕ ਸੈੱਟ ਨੂੰ ਇਕ ਹੋਰ ਡਾਟਾ ਫਰੇਮ ਵਿੱਚ ਵੀ ਚੁਣ ਸਕਦੇ ਹਾਂ - ਇਹ ਇੱਕ ਨਵਾਂ ਡਾਟਾ ਫਰੇਮ ਦਿੰਦਾ ਹੈ।
**ਮਿਆਰ ਅਨੁਸਾਰ ਸਿਰਫ਼ ਕੁਝ ਸਤਰਾਂ ਫਿਲਟਰ ਕਰਨਾ**। ਉਦਾਹਰਨ ਵੱਜੋਂ, ਜੇ ਸਾਨੂੰ ਸਿਰਫ਼ ਉਹੀ ਸਤਰਾਂ ਲੈਣੀਆਂ ਹਨ ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਕਾਲਮ `A` ਦੀ ਵੈਲਿਊ 5 ਤੋਂ ਵੱਧ ਹੈ, ਤਾਂ ਅਸੀਂ `df[df['A']>5]` ਲਿਖ ਸਕਦੇ ਹਾਂ।
> **ਨੋਟ**: ਫਿਲਟਰਿੰਗ ਦਾ ਕਾਰਜ ਇਸ ਤਰ੍ਹਾਂ ਹੁੰਦਾ ਹੈ। `df['A']<5` ਭਾਵਨਾਤਮਕ ਸੀਰੀਜ਼ ਦਿੰਦਾ ਹੈ ਜੋ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਮੂਲ ਸੀਰੀਜ਼ `df['A']` ਦੇ ਹਰ ਐਲੀਮੈਂਟ ਲਈ ਇਹ ਸਚ ਹੈ ਜਾਂ ਮਿਥਿਆ। ਜਦੋਂ ਭਾਵਨਾਤਮਕ ਸੀਰੀਜ਼ ਨੂੰ ਇੰਡੈਕਸ ਵਜੋਂ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਇਹ ਡਾਟਾ ਫਰੇਮ ਵਿੱਚੋਂ ਸੰਗ੍ਰਹਿਤ ਸਤਰਾਂ ਦੀ ਚੋਣ ਕਰਦਾ ਹੈ। ਇਸ ਕਰਕੇ arbitrary Python boolean expression, ਜਿਵੇਂ `df[df['A']>5 and df['A']<7]` ਗਲਤ ਹੈ। ਇਸ ਦੀ ਬਜਾਏ ਤੂੰ ਖਾਸ `&` ਚਿੰਨ੍ਹ ਦਿੱਤੀ ਕ੍ਰਿਯਾ ਵਰਤੋਂਮੋ, ਜਿਵੇਂ `df[(df['A']>5) & (df['A']<7)]` (*ਪੈਰੈਂਥੀਸਿਸ ਕਾਫ਼ੀ ਜ਼ਰੂਰੀ ਹੈ*).
**ਨਵੇਂ ਗਣਿਤੀ ਕਾਲਮ ਬਣਾਉਣਾ**। ਅਸੀਂ ਸੁਗਮ ਅਭਿਵਿਆਕਤੀਆਂ ਨਾਲ ਆਪਣੇ ਡਾਟਾ ਫਰੇਮ ਵਿੱਚ ਨਵੇਂ ਗਣਿਤੀ ਕਾਲਮ ਬਣਾ ਸਕਦੇ ਹਾਂ:
```python
df['DivA'] = df['A']-df['A'].mean()
```
ਇਸ ਉਦਹਰਨ ਿੱ ਅਸੀਂ A ਆਪਣ ਔਸਤ ਿ ੋਂ ਗਣਨ ਕਰ ਰਹ ਾਂ। ਅਸਲ ਿੱ ਇਹ ੁੰ ਿ ਅਸੀਂ ਿ ਕਰ ਰਹ ਾਂ ਅਤ ਿ ਇਸ ੂੰ ਅਸਈਨ ਕਰ ਲਮ ਬਣ ਰਹ ਾਂ। ਇਸ ਰਨ, ਅਸੀਂ ਉਹ ਰਵਈਆ ਨਹੀਂ ਕਰ ਸਕਦ ਼ਾਂ ਲਈ ਬਲ ਨਹੀਂ ਹਨ, ਉਦਹਰਨ ਵਜੋਂ, ਾਂ ਿੱ ਗਲਤ :
```python
# ਗਲਤ ਕੋਡ -> df['ADescr'] = "Low" ਜੇਕਰ df['A'] < 5 ਹੋਵੇ ਤਾਂ "Low" ਨਹੀਂ ਤਾਂ "Hi"
df['LenB'] = len(df['B']) # <- ਗਲਤ ਨਤੀਜਾ
```
ਿਛਲ ਉਦਹਰਨ, ਿ ਿੱ syntax ਸਹ , ਗਲਤ ਨਤ ਿੰ ਿਿ ਇਹ B ੂੰ ਿਊਜ 'ਤੇ ਨਿਯੁਕਤ ਕਰਦਾ ਹੈ, ਨਾ ਕਿ ਹਰ ਇਕ ਐਲੀਮੈਂਟ ਦੀ ਲੰਬਾਈ ਜਿਵੇਂ ਕਿ ਅਸੀਂ ਖਿਆਲ ਕੀਤਾ ਸੀ।
ੂੰ ਇਸ ਤਰਾਂ ਜਟਿ ਅਭਿਿਆਕਤ ਗਣਨ ਕਰਨ , ਾਂ ਅਸੀਂ `apply` ਕਸ ਵਰਤ ਸਕਦ ਾਂ। ਆਖਰ ਉਦਹਰਨ ੂੰ ਇਸ ਤਰਾਂ ਿਿ ਸਕਦ :
```python
df['LenB'] = df['B'].apply(lambda x : len(x))
# ਜਾਂ
df['LenB'] = df['B'].apply(len)
```
ਉਪਰੋਕਤ ਕਾਰਵਾਈਆਂ ਤੋਂ ਬਾਅਦ ਸਾਡੇ ਕੋਲ ਹੇਠਾਂ ਦਿੱਤਾ ਡਾਟਾ ਫਰੇਮ ਬਣੇਗਾ:
| | A | B | DivA | LenB |
| --- | --- | ------ | ---- | ---- |
| 0 | 1 | I | -4.0 | 1 |
| 1 | 2 | like | -3.0 | 4 |
| 2 | 3 | to | -2.0 | 2 |
| 3 | 4 | use | -1.0 | 3 |
| 4 | 5 | Python | 0.0 | 6 |
| 5 | 6 | and | 1.0 | 3 |
| 6 | 7 | Pandas | 2.0 | 6 |
| 7 | 8 | very | 3.0 | 4 |
| 8 | 9 | much | 4.0 | 4 |
**ਨੰਬਰਾਂ ਦੇ ਆਧਾਰ 'ਤੇ ਸਤਰਾਂ ਚੁਣਨਾ** `iloc` ਗਠਨਕ ਦੀ ਵਰਤੋਂ ਨਾਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਉਦਾਹਰਨ ਵੱਜੋਂ, ਪਹਿਲੀਆਂ 5 ਸਤਰਾਂ ਚੁਣਣ ਲਈ:
```python
df.iloc[:5]
```
**ਗ੍ਰੂਪ ਕਰਨਾ** ਅਕਸਰ Excel ਵਿੱਚ ਪਿਵਟ ਟੇਬਲਾਂ ਵਾਂਗ ਨਤੀਜੇ ਪ੍ਰਾਪਤ ਕਰਨ ਦੇ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਧਰੋ ਕਿ ਅਸੀਂ ਕਾਲਮ `A` ਦੀ ਔਸਤ ਵੈਲਿਊ `LenB` ਦੇ ਹਰ ਮੁੱਲ ਲਈ ਕੱਢਣੀ ਹੈ। ਤਾਂ ਸਾਨੂੰ ਆਪਣਾ ਡਾਟਾ ਫਰੇਮ `LenB` ਮੁਤਾਬਕ ਗਰੂਪ ਕਰਕੇ `mean` ਕਾਲ ਕਰਨਾ ਪਵੇਗਾ:
```python
df.groupby(by='LenB')[['A','DivA']].mean()
```
ਜੇ ਸਾਨੂੰ ਗਰੂਪ ਦਾ ਮੱਧ ਮੁੱਲ ਅਤੇ ਗਿਣਤੀ ਦੋਹਾਂ ਕੱਢਣੇ ਹੋਣ ਤਾਂ ਅਸੀਂ ਵਧੇਰੇ ਜਟਿਲ `aggregate` ਫੰਕਸ਼ਨ ਵਰਤ ਸਕਦੇ ਹਾਂ:
```python
df.groupby(by='LenB') \
.aggregate({ 'DivA' : len, 'A' : lambda x: x.mean() }) \
.rename(columns={ 'DivA' : 'Count', 'A' : 'Mean'})
```
ਇਸ ਨਾਲ ਸਾਡੇ ਕੋਲ ਹੇਠਾਂ ਦਿੱਤਾ ਟੇਬਲ ਬਣੇਗਾ:
| LenB | Count | Mean |
| ---- | ----- | -------- |
| 1 | 1 | 1.000000 |
| 2 | 1 | 3.000000 |
| 3 | 2 | 5.000000 |
| 4 | 3 | 6.333333 |
| 6 | 2 | 6.000000 |
### ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰਨਾ
ਅਸੀਂ ਦੇਖਿਆ ਹੈ ਕਿ ਕਿਵੇਂ ਸਹੀ ਢੰਗ ਨਾਲ ਪਾਇਥਨ ਆਬਜੈਕਟਸ ਤੋਂ ਸੀਰੀਜ਼ ਅਤੇ ਡੇਟਾ ਫਰੇਮ ਬਣਾਏ ਜਾ ਸਕਦੇ ਹਨ। ਹਾਲਾਂਕਿ, ਡਾਟਾ ਆਮ ਤੌਰ 'ਤੇ ਇੱਕ ਟੈਕਸਟ ਫਾਈਲ ਜਾਂ ਇਕਸੇਲ ਟੇਬਲ ਦੇ ਰੂਪ ਵਿੱਚ ਆਉਂਦਾ ਹੈ। ਖੁਸ਼ਕਿਸਮਤੀ ਨਾਲ, Pandas ਸਾਨੂੰ ਡਿਸਕ ਤੋਂ ਡਾਟਾ ਲੋਡ ਕਰਨ ਦਾ ਇੱਕ ਸਧਾਰਣ ਤਰੀਕਾ ਦਿੰਦਾ ਹੈ। ਉਦਾਹਰਨ ਵਜੋਂ, CSV ਫਾਈਲ ਪੜ੍ਹਨਾ ਇਹਨਾ ਹੀ ਸੌਖਾ ਹੈ:
```python
df = pd.read_csv('file.csv')
```
ਅਸੀਂ ਹੋਰ ਉਦਾਹਰਨਾਂ ਵੇਖਾਂਗੇ, ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਬਾਹਰੀ ਵੈੱਬਸਾਈਟਾਂ ਤੋਂ ਡਾਟਾ ਲੈਣਾ ਵੀ ਸ਼ਾਮਲ ਹੈ, "ਚੈਲੇਂਜ" ਸੈਕਸ਼ਨ ਵਿੱਚ
### ਪ੍ਰਿੰਟਿੰਗ ਅਤੇ ਪਲੌਟਿੰਗ
ਇੱਕ ਡਾਟਾ ਸਾਇੰਟਿਸਟ ਨੂੰ ਅਕਸਰ ਡਾਟਾ ਦਾ ਪਤਾ ਲਗਾਉਣਾ ਪੈਂਦਾ ਹੈ, ਇਸ ਲਈ ਇਸਨੂੰ ਵਿਜ਼ੂਅਲਾਈਜ਼ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਰੱਖਣਾ ਜਰੂਰੀ ਹੈ। ਜਦੋਂ ਡੇਟਾ ਫਰੇਮ ਵੱਡਾ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਕਈ ਵਾਰੀ ਅਸੀਂ ਸਿਰਫ ਇਕ-ਦੋ ਪਹਿਲੀਆਂ ਕਤਾਰਾਂ ਪ੍ਰਿੰਟ ਕਰ ਕੇ ਯਕੀਨੀ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹਾਂ ਕਿ ਸਾਰਾ ਕੁਝ ਠੀਕ ਚੱਲ ਰਿਹਾ ਹੈ। ਇਹ `df.head()` ਕਾਲ ਕਰਕੇ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਇਹ ਜੂਪਿਟਰ ਨੋਟਬੁੱਕ ਤੋਂ ਚਲਾ ਰਹੇ ਹੋ, ਤਾਂ ਇਹ ਡੇਟਾ ਫਰੇਮ ਨੂੰ ਇੱਕ ਸੋਹਣੇ ਟੇਬੂਲਰ ਰੂਪ ਵਿੱਚ ਪ੍ਰਿੰਟ ਕਰੇਗਾ।
ਅਸੀਂ `plot` ਫੰਕਸ਼ਨ ਦੇ ਇਸਤੇਮਾਲ ਨੂੰ ਵੀ ਦੇਖਿਆ ਹੈ ਜੋ ਕੁਝ ਕਾਲਮਾਂ ਨੂੰ ਵਿਜ਼ੂਅਲਾਈਜ਼ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਜਦੋਂ `plot` ਅਨੇਕ ਕਾਰਜਾਂ ਲਈ ਬਹੁਤ ਲਾਭਦਾਇਕ ਹੈ ਅਤੇ `kind=` ਪੈਰਾਮੀਟਰ ਰਾਹੀਂ ਕਈ ਵੱਖ-ਵੱਖ ਗ੍ਰਾਫ ਕਿਸਮਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ, ਤਦ ਵੀ ਤੁਹਾਡੇ ਕੋਲ ਅਕਸਰ ਕੁਝ ਹੋਰ ਜਟਿਲ ਪਲੌਟ ਬਣਾਉਣ ਲਈ ਸਿੱਧਾ `matplotlib` ਲਾਇਬ੍ਰੇਰੀ ਵਰਤਣ ਦਾ ਵਿਕਲਪ ਹੁੰਦਾ ਹੈ। ਅਸੀਂ ਵਿਸਥਾਰ ਨਾਲ ਡਾਟਾ ਵਿਜ਼ੂਅਲਾਈਜੇਸ਼ਨ ਅਲੱਗ ਕੋਰਸ ਪਾਠਾਂ ਵਿੱਚ ਕਵਰ ਕਰਾਂਗੇ।
ਇਹ ਓਵਰਵੀਉ Pandas ਦੇ ਸਭ ਤੋਂ ਜਰੂਰੀ ਅਸੂਲਾਂ ਨੂੰ ਨੂੰ ਸਮੇਟਦਾ ਹੈ, ਫਿਰ ਵੀ ਲਾਇਬ੍ਰੇਰੀ ਬਹੁਤ ਵੱਧ ਸਮਰੱਥ ਹੈ, ਅਤੇ ਤੁਸੀਂ ਇਸ ਨਾਲ ਕਿਤਨਾ ਕੁ ਕਰ ਸਕਦੇ ਹੋ ਇਸ ਦੀ ਕੋਈ ਹੱਦ ਨਹੀਂ ਹੈ! ਆਓ ਹੁਣ ਇਸ ਗਿਆਨ ਨੂੰ ਕਿਸੇ ਵਿਸ਼ੇਸ਼ ਸਮੱਸਿਆ ਦੇ ਹੱਲ ਲਈ ਲਾਗੂ ਕਰੀਏ।
## 🚀 ਚੈਲੇਂਜ 1: COVID ਫੈਲਾਅ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ
ਪਹਿਲੀ ਸਮੱਸਿਆ ਜਿਸ 'ਤੇ ਅਸੀਂ ਧਿਆਨ ਦੇਵਾਂਗੇ ਉਹ COVID-19 ਦੇ ਮਹਾਂਮਾਰੀ ਫੈਲਾਅ ਦੀ ਮਾਡਲਿੰਗ ਹੈ। ਇਸ ਲਈ ਅਸੀਂ ਵੱਖ-ਵੱਖ ਦੇਸ਼ਾਂ ਵਿੱਚ ਸੰਕ੍ਰਮਿਤ ਵਿਅਕਤੀਆਂ ਦੀ ਗਿਣਤੀ ਵਾਲਾ ਡਾਟਾ ਵਰਤਾਂਗੇ, ਜੋ [Center for Systems Science and Engineering](https://systems.jhu.edu/) (CSSE) ਦੁਆਰਾ [Johns Hopkins University](https://jhu.edu/) ਨੂੰ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। ਡੇਟਾਸੈੱਟ [ਇਸ GitHub ਰਿਪੋਜ਼ਟਰੀ](https://github.com/CSSEGISandData/COVID-19) ਵਿੱਚ ਉਪਲਬਧ ਹੈ।
ਕਿਉਂਕਿ ਅਸੀਂ ਡਾਟਾ ਨਾਲ ਕਿਵੇਂ ਨਿਬਟਣਾ ਹੈ ਇਹ ਦਿਖਾਉਣਾ ਚਾਹੁੰਦੇ ਹਾਂ, ਇਸ ਲਈ ਅਸੀਂ ਤੁਹਾਨੂੰ ਬੁਲਾਉਂਦੇ ਹਾਂ ਕਿ ਤੁਸੀਂ [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) ਖੋਲ੍ਹੋ ਅਤੇ ਇਸਨੂੰ ਸਿਰ ਤੋਂ ਅੰਤ ਤੱਕ ਪੜ੍ਹੋ। ਤੁਸੀਂ ਕੋਸ਼ਿਕਾਂ ਚਲਾ ਵੀ ਸਕਦੇ ਹੋ, ਅਤੇ ਕੁਝ ਚੈਲੇਂਜ ਵੀ ਜੋ ਅਸੀਂ ਤੁਹਾਡੇ ਲਈ ਆਖਰ ਵਿੱਚ ਛੱਡੇ ਹਨ।
![COVID Spread](../../../../translated_images/pa/covidspread.f3d131c4f1d260ab.webp)
> ਜੇ ਤੁਸੀਂ ਜੂਪਿਟਰ ਨੋਟਬੁੱਕ ਵਿੱਚ ਕੋਡ ਕਿਵੇਂ ਚਲਾਉਣਾ ਹੈ ਇਹ ਨਹੀਂ ਜਾਣਦੇ, ਤਾਂ [ਇਸ ਲੇਖ](https://soshnikov.com/education/how-to-execute-notebooks-from-github/) ਨੂੰ ਵੇਖੋ।
## ਬਿਨਾਂ ਸੰਗਠਿਤ ਡੇਟਾ ਨਾਲ ਕੰਮ ਕਰਨਾ
ਹਾਲਾਂਕਿ ਡਾਟਾ ਅਕਸਰ ਟੇਬੂਲਰ ਰੂਪ ਵਿੱਚ ਆਉਂਦਾ ਹੈ, ਕੁਝ ਮਾਮਲਿਆਂ ਵਿੱਚ ਸਾਨੂੰ ਘੱਟ ਸੰਗਠਿਤ ਡਾਟਾ, ਜਿਵੇਂ ਕਿ ਟੈਕਸਟ ਜਾਂ ਫੋਟੋਆਂ ਨਾਲ ਨਿਬਟਣਾ ਪੈਂਦਾ ਹੈ। ਇਸ ਮਾਮਲੇ ਵਿੱਚ, ਉਪਰ ਦਿੱਤੀਆਂ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਤਕਨੀਕਾਂ ਲਾਗੂ ਕਰਨ ਲਈ ਸਾਨੂੰ ਕਿਸੇ ਨਾ ਕਿਸੇ ਤਰੀਕੇ ਨਾਲ ਸੰਗਠਿਤ ਡੇਟਾ **ਨਿਕਾਲਣਾ** ਪੈਂਦਾ ਹੈ। ਹੇਠਾਂ ਕੁਝ ਉਦਾਹਰਨਾਂ ਹਨ:
* ਟੈਕਸਟ ਵਿੱਚੋਂ ਕੀਵਰਡ ਨਿਕਾਲ ਕੇ ਵੇਖਣਾ ਕਿ ਉਹ ਕੀਵਰਡ ਕਿੰਨੀ ਵਾਰੀ ਆ ਰਹੇ ਹਨ
* ਤਸਵੀਰ 'ਤੇ ਵਸਤੂਆਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਲੈਣ ਲਈ ਨਿਊਰਲ ਨੈੱਟਵਰਕ ਦੀ ਵਰਤੋਂ ਕਰਨਾ
* ਵੀਡੀਓ ਕੈਮਰਾ ਫੀਡ ਵਿੱਚ ਲੋਕਾਂ ਦੇ ਜਜ਼ਬਾਤ ਬਾਰੇ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰਨਾ
## 🚀 ਚੈਲੇਂਜ 2: COVID ਪੇਪਰਾਂ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ
ਇਸ ਚੈਲੇਂਜ ਵਿੱਚ, ਅਸੀਂ COVID ਮਹਾਂਮਾਰੀ ਦੇ ਵਿਸ਼ੇ 'ਤੇ ਸਾਇੰਟਿਫਿਕ ਪੇਪਰਾਂ ਨੂੰ ਪ੍ਰਕਿਰਿਆਵਤ ਕਰਨ 'ਤੇ ਧਿਆਨ ਦੇਵਾਂਗੇ। [CORD-19 Dataset](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge) ਇੱਕ ਅਜਿਹਾ ਡੇਟਾਸੈੱਟ ਹੈ ਜਿਸ ਵਿੱਚ COVID 'ਤੇ ਲਿਖੇ 7000 ਤੋਂ ਵੱਧ (ਲਿਖਣ ਵੇਲੇ) ਪੇਪਰ ਹਨ, ਜੋ ਮੈਟਾਡੇਟਾ ਅਤੇ ਸੰਛੇਪਾਂ ਨਾਲ ਉਪਲਬਧ ਹਨ (ਅਤੇ ਉਨ੍ਹਾਂ ਦੇ ਲਗਭਗ ਅੱਧੇ ਲਈ ਪੂਰਾ ਟੈਕਸਟ ਵੀ ਮੌਜੂਦ ਹੈ)।
ਇਸ ਡੇਟਾਸੈੱਟ ਦਾ ਪ੍ਰਯੋਗ ਕਰਦੇ ਹੋਏ [Text Analytics for Health](https://docs.microsoft.com/azure/cognitive-services/text-analytics/how-tos/text-analytics-for-health/?WT.mc_id=academic-77958-bethanycheum) ਕਗਨਿਟਿਵ ਸਰਵਿਸ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਸ ਡਾਟਾ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨ ਦੀ ਪੂਰੀ ਉਦਾਹਰਨ [ਇਸ ਬਲੌਗ ਪੋਸਟ](https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/) ਵਿੱਚ ਦਿੱਤੀ ਗਈ ਹੈ। ਅਸੀਂ ਇਸ ਵਿਸ਼ਲੇਸ਼ਣ ਦਾ ਸਰਲ ਸੰਸਕਰਨ ਚਰਚਾ ਕਰਾਂਗੇ।
> **NOTE**: ਅਸੀਂ ਇਸ ਰਿਪੋਜ਼ਟਰੀ ਦੇ ਹਿੱਸੇ ਵਜੋਂ ਡੇਟਾਸੈੱਟ ਦੀ ਨਕਲ ਪ੍ਰਦਾਨ ਨਹੀਂ ਕਰਦੇ। ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ [ਇਸ Kaggle ਡੇਟਾਸੈੱਟ](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge?select=metadata.csv) ਤੋਂ [`metadata.csv`](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge?select=metadata.csv) ਫਾਈਲ ਡਾਊਨਲੋਡ ਕਰਨੀ ਪੈ ਸਕਦੀ ਹੈ। Kaggle ਨਾਲ ਰਜਿਸਟਰੇਸ਼ਨ ਲਾਜ਼ਮੀ ਹੋ ਸਕਦੀ ਹੈ। ਤੁਸੀਂ ਬਿਨਾ ਰਜਿਸਟਰੇਸ਼ਨ ਦੇ ਵੀ [ਇੱਥੋਂ](https://ai2-semanticscholar-cord-19.s3-us-west-2.amazonaws.com/historical_releases.html) ਡੇਟਾਸੈੱਟ ਡਾਉਨਲੋਡ ਕਰ ਸਕਦੇ ਹੋ, ਪਰ ਇਹ ਮੈਟਾਡੇਟਾ ਫਾਈਲ ਦੇ ਨਾਲ ਸਾਰੀ ਪੂਰੀ ਟੈਕਸਟ ਵੀ ਸ਼ਾਮਲ ਕਰੇਗਾ।
[`notebook-papers.ipynb`](notebook-papers.ipynb) ਖੋਲ੍ਹੋ ਅਤੇ ਸਿਰ ਤੋਂ ਅੰਤ ਤੱਕ ਪੜ੍ਹੋ। ਤੁਸੀਂ ਕੋਸ਼ਿਕਾਂ ਚਲਾ ਸਕਦੇ ਹੋ ਅਤੇ ਉਹ ਚੈਲੇਂਜ ਵੀ ਜੋ ਅਸੀਂ ਤੁਹਾਡੇ ਲਈ ਆਖਰ ਵਿੱਚ ਛੱਡੇ ਹਨ।
![Covid Medical Treatment](../../../../translated_images/pa/covidtreat.b2ba59f57ca45fbc.webp)
## ਇਮੀਜ ਡੇਟਾ ਪ੍ਰੋਸੈਸਿੰਗ
ਹਾਲ ਹੀ ਵਿੱਚ, ਬਹੁਤ ਸ਼ਕਤੀਸ਼ਾਲੀ AI ਮਾਡਲ ਵਿਕਸਿਤ ਕੀਤੇ ਗਏ ਹਨ ਜੋ ਸਾਡੇ ਲਈ ਤਸਵੀਰਾਂ ਨੂੰ ਸਮਝਣਾ ਸੌਖਾ ਕਰ ਦਿੰਦੇ ਹਨ। ਕਈ ਕੰਮ ਪੂਰਵ-ਤਿਆਰ ਨਿਊਰਲ ਨੈੱਟਵਰਕ ਜਾਂ ਕਲਾਉਡ ਸਰਵਿਸਜ਼ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਹੱਲ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ। ਕੁਝ ਉਦਾਹਰਨਾਂ ਹਨ:
* **ਈਮੀਜ ਵਰਗੀਕਰਨ (Image Classification)**, ਜੋ ਤੁਹਾਡੇ ਲਈ ਤਸਵੀਰ ਨੂੰ ਪਹਿਲਾਂ ਤੋਂ ਨਿਰਧਾਰਿਤ ਕਿਸੇ ਇੱਕ ਵਰਗ ਵਿੱਚ ਵੰਡਣ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰ ਸਕਦਾ ਹੈ। ਤੁਸੀਂ ਬਹੁਤ ਆਸਾਨੀ ਨਾਲ [Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77958-bethanycheum) ਵਰਗੀਆਂ ਸਰਵਿਸਜ਼ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਆਪਣੀ ਆਪਣੀ ਇਮੀਜ ਵਰਗੀਕਰਨ ਮਸ਼ੀਨ ਟ੍ਰੇਨ ਕਰ ਸਕਦੇ ਹੋ।
* **ਵਸਤੂਆਂ ਦੀ ਪਹਿਚਾਣ (Object Detection)**, ਜੋ ਤਸਵੀਰ ਵਿੱਚ ਵੱਖ-ਵੱਖ ਵਸਤੂਆਂ ਦੀ ਪਹਿਚਾਣ ਕਰਦਾ ਹੈ। [ਕੰਪਿютਰ ਵਿਜ਼ਨ](https://azure.microsoft.com/services/cognitive-services/computer-vision/?WT.mc_id=academic-77958-bethanycheum) ਵਰਗੀਆਂ ਸਰਵਿਸਜ਼ ਮੁਲਕਣ ਵਸਤੂਆਂ ਦੀ ਪਹਿਚਾਣ ਕਰਦੀਆਂ ਹਨ ਅਤੇ ਤੁਸੀਂ [Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77958-bethanycheum) ਮਾਡਲ ਨੂੰ ਕੁਝ ਵਿਸ਼ੇਸ਼ ਵਸਤੂਆਂ ਦੀ ਪਹਿਚਾਣ ਲਈ ਟ੍ਰੇਨ ਕਰ ਸਕਦੇ ਹੋ।
* **ਚਿਹਰਾ ਪਹਿਚਾਣ (Face Detection)**, ਜਿਸ ਵਿੱਚ ਉਮਰ, ਲਿੰਗ ਅਤੇ ਜਜ਼ਬਾਤੀ ਹਾਲਤ ਦੀ ਪਛਾਣ ਵੀ ਸ਼ਾਮਲ ਹੈ। ਇਹ [Face API](https://azure.microsoft.com/services/cognitive-services/face/?WT.mc_id=academic-77958-bethanycheum) ਰਾਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਇਹ ਸਾਰੇ ਕਲਾਉਡ ਸਰਵਿਸਜ਼ [Python SDKs](https://docs.microsoft.com/samples/azure-samples/cognitive-services-python-sdk-samples/cognitive-services-python-sdk-samples/?WT.mc_id=academic-77958-bethanycheum) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਬੁਲਾਏ ਜਾ ਸਕਦੇ ਹਨ, ਇਸ ਲਈ ਉਹ ਤੁਹਾਡੇ ਡਾਟਾ ਖੋਜ ਵਰਕਫਲੋਅ ਵਿੱਚ ਆਸਾਨੀ ਨਾਲ ਸ਼ਾਮਲ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ।
ਇੱਥੇ ਕੁਝ ਉਦਾਹਰਨਾਂ ਹਨ ਜਿਹੜੇ ਇਮੀਜ ਡਾਟਾ ਸਰੋਤਾਂ ਤੋਂ ਡਾਟਾ ਖੋਜਣ ਦੀਆਂ ਹਨ:
* ਬਲੌਗ ਪੋਸਟ [How to Learn Data Science without Coding](https://soshnikov.com/azure/how-to-learn-data-science-without-coding/) ਵਿੱਚ ਅਸੀਂ Instagram ਦੀਆਂ ਤਸਵੀਰਾਂ ਨੂੰ ਅਨਾਲਾਈਜ਼ ਕਰ ਰਹੇ ਹਾਂ, ਇਹ ਜਾਣਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹੋਏ ਕਿ ਲੋਕ ਕਿਸ ਤਰ੍ਹਾਂ ਇੱਕ ਫੋਟੋ ਨੂੰ ਵੱਧ ਲਾਈਕ ਦਿੰਦੇ ਹਨ। ਅਸੀਂ ਪਹਿਲਾਂ [ਕੰਪਿютਰ ਵਿਜ਼ਨ](https://azure.microsoft.com/services/cognitive-services/computer-vision/?WT.mc_id=academic-77958-bethanycheum) ਵੱਲੋਂ ਤਸਵੀਰਾਂ ਤੋਂ ਜਿੰਨੀ ਜਾਣਕਾਰੀ ਮਿਲ ਸਕੇ ਨਿਕਾਲੀ, ਅਤੇ ਫਿਰ [Azure Machine Learning AutoML](https://docs.microsoft.com/azure/machine-learning/concept-automated-ml/?WT.mc_id=academic-77958-bethanycheum) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵਿਆਖਿਆਯੋਗ ਮਾਡਲ ਬਣਾਇਆ।
* [Facial Studies Workshop](https://github.com/CloudAdvocacy/FaceStudies) ਵਿੱਚ, ਅਸੀਂ [Face API](https://azure.microsoft.com/services/cognitive-services/face/?WT.mc_id=academic-77958-bethanycheum) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਵੈਂਟਾਂ ਤੋਂ ਫੋਟੋਆਂ ਵਿੱਚ ਲੋਕਾਂ ਦੇ ਜਜ਼ਬਾਤ ਨਿਕਾਲਦੇ ਹਾਂ ਤਾਂ ਜੋ ਜਾਣ ਸਕੀਏ ਕਿ ਲੋਕਾਂ ਨੂੰ ਖੁਸ਼ ਕਿਵੇਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
## ਨਤੀਜਾ
ਤੁਹਾਡੇ ਕੋਲ ਚਾਹੇ ਸੰਗਠਿਤ (structured) ਜਾਂ ਬਿਨਾਂ ਸੰਗਠਿਤ (unstructured) ਡਾਟਾ ਹੀ ਕਿਉਂ ਨਾ ਹੋਵੇ, ਪਾਇਥਨ ਦੀ ਵਰਤੋਂ ਨਾਲ ਤੁਸੀਂ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਅਤੇ ਸਮਝਣ ਨਾਲ ਜੁੜੇ ਸਾਰੇ ਪਐਮਲੇ ਕਰ ਸਕਦੇ ਹੋ। ਇਹ ਸੰਭਵ ਤੌਰ 'ਤੇ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਦਾ ਸਭ ਤੋਂ ਲਚਕੀਲਾ ਤਰੀਕਾ ਹੈ ਅਤੇ ਇਸੀ ਕਾਰਨ ਬਹੁਤ ਸਾਰੇ ਡਾਟਾ ਸਾਇੰਟਿਸਟ ਪਾਇਥਨ ਨੂੰ ਆਪਣਾ ਮੁੱਖ ਸੰਦ ਮੰਨਦੇ ਹਨ। ਜੇ ਤੁਸੀਂ ਆਪਣੇ ਡਾਟਾ ਸਾਇੰਸ ਯਾਤਰਾ ਨੂੰ ਗੰਭੀਰਤਾ ਨਾਲ ਲੈ ਰਹੇ ਹੋ ਤਾਂ ਪਾਇਥਨ ਨੂੰ ਡੂੰਘਾਈ ਨਾਲ ਸਿੱਖਣਾ ਇੱਕ ਚੰਗਾ ਵਿਚਾਰ ਹੈ!
## [ਪੋਸਟ-ਲੈਕਚਰ ਕਵਿਜ਼](https://ff-quizzes.netlify.app/en/ds/quiz/13)
## ਸਮੀਖਿਆ ਅਤੇ ਖੁਦ ਅਧਿਐਨ
**ਕਿਤਾਬਾਂ**
* [ਵੇਸ ਮੈਕਕਿੰਨੀ. Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython](https://www.amazon.com/gp/product/1491957662)
**ਆਨਲਾਈਨ ਸਰੋਤ**
* ਅਧਿਕਾਰਿਕ [10 minutes to Pandas](https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html) ਟਿਊਟੋਰਿਅਲ
* [Pandas Visualization ਬਾਰੇ ਦਸਤਾਵੇਜ਼](https://pandas.pydata.org/pandas-docs/stable/user_guide/visualization.html)
**ਪਾਇਥਨ ਸਿੱਖਣਾ**
* [ਟರਟਲ ਗ੍ਰਾਫਿਕਸ ਅਤੇ ਫ੍ਰੈਕਟਲ ਨਾਲ ਮਨੋਰੰਜਕ ਢੰਗ ਨਾਲ ਪਾਇਥਨ ਸਿੱਖੋ](https://github.com/shwars/pycourse)
* [ਪਾਇਥਨ ਨਾਲ ਆਪਣੀਆਂ ਪਹਿਲੀਆਂ ਕਦਮ ਚੁੱਕੋ](https://docs.microsoft.com/learn/paths/python-first-steps/?WT.mc_id=academic-77958-bethanycheum) ਮਾਇਕ੍ਰੋਸੌਫਟ ਲਰਨ 'ਤੇ ਲਰਨਿੰਗ ਪਾਥ
## ਅਸਾਈਨਮੈਂਟ
[ਉਪਰ ਦਿੱਤੇ ਚੈਲੇਂਜਾਂ ਲਈ ਹੋਰ ਵਿਸਥਾਰ ਵਾਲਾ ਡਾਟਾ ਅਧਿਐਨ ਕਰੋ](assignment.md)
## ਸਹਿਯੋਗ
ਇਹ ਪਾਠ ♥️ ਨਾਲ [ਦਿਮਿਤਰੀ ਸੋਸ਼ਨਿਕੋਵ](http://soshnikov.com) ਵੱਲੋਂ ਲਿਖਿਆ ਗਿਆ ਹੈ।
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ਅਸਵੀਕਾਰੋਪਣ**:
ਇਸ ਦਸਤਾਵੇਜ਼ ਦਾ ਅਨੁਵਾਦ ਏਆਈ ਅਨੁਵਾਦ ਸੇਵਾ [Co-op Translator](https://github.com/Azure/co-op-translator) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀਤਾਵਾਂ ਲਈ ਯਤਨਸ਼ੀਲ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਰੱਖੋ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸਮੱਤਿਆਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਆਪਣੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਅਧਿਕਾਰਕ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਜਰੂਰੀ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਅਸੀਂ ਇਸ ਅਨੁਵਾਦ ਦੇ ਉਪਯੋਗ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੀਆਂ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀਆਂ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆਵਾਂ ਲਈ ਜਵਾਬਦੇਹ ਨਹੀਂ ਹਾਂ।
<!-- CO-OP TRANSLATOR DISCLAIMER END -->