@ -1,62 +1,61 @@
# ਡਾਟਾ ਨਾਲ ਕੰਮ ਕਰਨਾ: ਪਾਈਥਨ ਅਤੇ ਪੈਂਡਾਸ ਲਾਇਬ੍ਰੇਰੀ
# ਡਾਟਾ ਨਾਲ ਕੰਮ ਕਰਨਾ: Python ਅਤੇ Pandas ਲਾਇਬ੍ਰੇਰੀ
|  ](../../sketchnotes/07-WorkWithPython.png) |
|  ](../../sketchnotes/07-WorkWithPython.png) |
| :-------------------------------------------------------------------------------------------------------: |
| ਪਾਈਥਨ ਨਾਲ ਕੰਮ ਕਰਨਾ - _ਸਕੈਚਨੋਟ ਦੁਆਰਾ [@nitya](https://twitter.com/nitya)_ |
| Python ਨਾਲ ਕੰਮ ਕਰਨਾ - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
[](https://youtu.be/dZjWOGbsN4Y)
[](https://youtu.be/dZjWOGbsN4Y)
ਜਦੋਂਕਿ ਡੇਟਾਬੇਸ ਡੇਟਾ ਸਟੋਰੇਜ ਅਤੇ ਪੁੱਛਗਿੱਛ ਲਈ ਬਹੁਤ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਤਰੀਕੇ ਦਿੰਦੇ ਹਨ, ਡੇ ਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਦਾ ਸਭ ਤੋਂ ਲਚਕੀਲਾ ਤਰੀਕਾ ਆਪਣੇ ਆਪ ਦਾ ਪ੍ਰੋਗ੍ਰਾਮ ਲਿਖ ਕੇ ਡੇਟਾ ਨੂੰ ਕੁਦਰਤੀ ਤੌਰ 'ਤੇ ਸੰਭਾਲਣਾ ਹੈ। ਬਹੁਤ ਸਾਰੀਆਂ ਹਾਲਤਾਂ ਵਿੱਚ, ਡੇਟਾਬੇਸ ਪੁੱਛਗਿੱਛ ਇੱਕ ਵੱਧ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਤਰੀਕਾ ਹੁੰਦੀ ਹੈ। ਪਰ ਕੁਝ ਹਾਲਤਾਂ ਵਿਚ, ਜਦੋਂ ਜ਼ਿਆਦਾ ਨਸੀਬਦਾਰ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਇਹ SQL ਨਾਲ ਆਸਾਨੀ ਨਾਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।
ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਕਿਸੇ ਵੀ ਪ੍ਰੋਗ੍ ਰਾਮਿੰਗ ਭਾਸ਼ਾ ਵਿੱਚ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਪਰ ਕੁਝ ਭਾਸ਼ਾਵਾਂ ਹਨ ਜੋ ਡਾਟਾ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ ਉੱਚ ਸਤਰ ਦੀਆਂ ਹਨ। ਡਾਟਾ ਸਾਇੰਟਿਸਟ ਆਮ ਤੌਰ 'ਤੇ ਹੇਠ ਲਿਖੀਆਂ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚੋਂ ਇੱਕ ਵਰਤਣਾ ਪਸੰਦ ਕਰਦੇ ਹਨ:
ਜਦੋਂ ਕਿ ਡਾਟਾਬੇਸ ਡਾਟਾ ਸਟੋਰ ਕਰਨ ਅਤੇ ਕੁਏਰੀ ਭਾਸ਼ਾਵਾਂ ਦੀ ਵਰਤੋਂ ਨਾਲ ਉਹਨਾਂ ਉੱਤੇ ਕੁਏਰੀ ਕਰਨ ਦੇ ਬਹੁਤ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਤਰੀਕੇ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ, ਡਾ ਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਦਾ ਸਭ ਤੋਂ ਲਚਕੀਲਾ ਤਰੀਕਾ ਆਪਣਾ ਖੁਦ ਦਾ ਪ੍ਰੋਗਰਾਮ ਲਿਖ ਕੇ ਡਾਟਾ ਨੂੰ ਮੈਨਿਪੁਰਲੇਟ ਕਰਨਾ ਹੈ। ਬਹੁਤ ਸਾਰੀਆਂ ਸਥਿਤੀਆਂ ਵਿੱਚ, ਡਾਟਾਬੇਸ ਕੁਏਰੀ ਕਰਨੀ ਜ਼ਿਆਦਾ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਹੁੰਦੀ ਹੈ। ਪਰ ਕੁਝ ਮਾਮਲਿਆਂ ਵਿੱਚ, ਜਦੋਂ ਹੋਰ ਜਟਿਲ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਇਹ ਕੰਮ SQL ਵਰਤ ਕੇ ਆਸਾਨੀ ਨਾਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।
ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਕਿਸੇ ਵੀ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਵਿੱਚ ਪ੍ਰੋਗਰਾਮ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਪਰ ਕੁਝ ਭਾਸ਼ਾਵਾਂ ਡਾਟਾ ਨਾਲ ਕੰਮ ਕਰਨ ਦੇ ਸੰਦਰਭ ਵਿੱਚ ਉੱਚ ਸਤਰ ਦੀਆਂ ਮੰਨੀ ਜਾਂਦੀਆਂ ਹਨ। ਡਾਟਾ ਸਾਇੰਟੀਸਿਟਸ ਆਮ ਤੌਰ 'ਤੇ ਹੇਠਾਂ ਦਿੱਤੀਆਂ ਵਿੱਚੋਂ ਕਿਸੇ ਇੱਕ ਭਾਸ਼ਾ ਨੂੰ ਪਸੰਦ ਕਰਦੇ ਹਨ:
* ** [ਪਾਈਥਨ](https://www.python.org/ )**, ਇੱਕ ਜਨਰਲ-ਪ੍ਰਯੋਜਨ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਭਾਸ਼ਾ, ਜੋ ਆਪਣੀ ਸਾਦਗੀ ਕਰਕੇ ਸ਼ੁਰੂਆਤੀ ਲੋਕਾਂ ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ ਵਿਕਲਪਾਂ ਵਿੱਚੋਂ ਇੱਕ ਮੰਨੀ ਜਾਂਦੀ ਹੈ। ਪਾਈਥਨ ਵਿੱਚ ਬਹੁਤ ਸਾਰੀਆਂ ਵਾਧੂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਹਨ ਜੋ ਤੁਹਾਨੂੰ ਕਈ ਪ੍ਰਾਇਕਟਿਕਲ ਸਮੱਸਿਆਵਾਂ ਦਾ ਹੱਲ ਕੱਢਣ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦੀਆਂ ਹਨ, ਜਿਵੇਂ ਕਿ ZIP ਆਰਕਾਈਵ ਤੋਂ ਤੁਹਾਡਾ ਡਾਟਾ ਕੱਢਣਾ, ਜਾਂ ਤਸਵੀਰ ਨੂੰ ਗ੍ਰੇਸਕੇਲ ਵਿੱਚ ਬਦਲਣਾ। ਡਾਟਾ ਸਾਇੰਸ ਤੋਂ ਇਲਾਵਾ, ਪਾਈਥਨ ਵੈੱਬ ਵਿਕਾਸ ਲਈ ਵੀ ਅਕਸਰ ਵਰਤੀ ਜਾਂਦੀ ਹੈ।
* ** [ਆਰ](https://www.r-project.org/ )** ਇੱਕ ਪੰ ਰੰਪਰਿਕ ਟੂਲਬਾਕਸ ਹੈ ਜੋ ਸਾਂਖਿਆਕੀ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਲਈ ਵਿਕਸਤ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਸ ਵਿੱਚ ਕਈ ਵੱਡੇ ਲਾਇਬ੍ਰੇਰੀ ਰਿਪੋਜ਼ਟਰੀ (CRAN) ਵੀ ਹਨ, ਜੋ ਇਸਨੂੰ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਲਈ ਇੱਕ ਚੰਗਾ ਚੋਣ ਬਣਾਉਂਦੀਆਂ ਹਨ। ਪਰ, R ਇੱਕ ਜਨਰਲ-ਪ੍ਰਯੋਜਨ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਭਾਸ਼ਾ ਨਹੀਂ ਹੈ, ਅਤੇ ਆਮ ਤੌਰ 'ਤੇ ਡਾਟਾ ਸਾਇੰਸ ਖੇਤਰ ਤੋਂ ਬਾਹਰ ਬਹੁਤ ਘੱਟ ਵਰਤੀ ਜਾਂਦੀ ਹੈ ।
* ** [ਜੂਲੀਆ ](https://julialang.org/ )** ਇੱਕ ਹੋਰ ਭਾਸ਼ਾ ਹੈ ਜੋ ਖਾਸ ਤੌਰ 'ਤੇ ਡਾਟਾ ਸਾਇੰਸ ਲਈ ਵਿਕਸਤ ਕੀਤੀ ਗਈ ਹੈ। ਇਹ ਪਾਈਥਨ ਨਾਲੋਂ ਬਿਹਤਰ ਪ੍ਰਦਰਸ਼ਨ ਦੇਣ ਲਈ ਤਿਆਰ ਕੀਤੀ ਗਈ ਹੈ, ਜੋ ਵਿਗਿਆਨਕ ਪ੍ਰਯੋਗ ਲਈ ਮਹਾਨ ਸੰਦ ਹੈ।
* ** [Python](https://www.python.org/ )**, ਇੱਕ ਜਨਰਲ-ਪਰਪਜ਼ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ, ਜੋ ਆਮ ਤੌਰ ਤੇ ਆਪਣੀ ਸਾਦਗੀ ਕਰਕੇ ਸ਼ੁਰੂਆਤੀ ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ ਵਿਕਲਪਾਂ ਵਿੱਚੋਂ ਇੱਕ ਮੰਨੀ ਜਾਂਦੀ ਹੈ। Python ਕੋਲ ਕਈ ਵਾਧੂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਹਨ ਜੋ ਤੁਹਾਡੇ ਲਈ ਬਹੁਤ ਸਾਰੇ ਆਮ ਮਸਲੇ ਹੱਲ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦੀਆਂ ਹਨ, ਜਿਵੇਂ ਕਿ ZIP ਆਰਕਾਈਵ ਤੋਂ ਡਾਟਾ ਕੱਢਣਾ ਜਾਂ ਤਸਵੀਰ ਨੂੰ ਗ੍ਰੇਸਕੇਲ ਵਿੱਚ ਪਰਿਵਰਤਿਤ ਕਰਨਾ। ਡਾਟਾ ਸਾਇੰਸ ਤੋਂ ਇਲਾਵਾ, Python ਅਕਸਰ ਵੈੱਬ ਵਿਕਾਸ ਲਈ ਵੀ ਵਰਤੀ ਜਾਂਦੀ ਹੈ।
* ** [R](https://www.r-project.org/ )** ਇੱਕ ਪਾ ਰੰਪਰਿਕ ਟੂਲਬਾਕਸ ਹੈ ਜੋ ਸਾਂਖਿਆਕੀ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਸ ਵਿੱਚ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦਾ ਵੱਡਾ ਜਥਾ (CRAN) ਹੈ, ਜੋ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਲਈ ਇੱਕ ਵਧੀਆ ਚੋਣ ਹੈ। ਪਰ R ਜਨਰਲ-ਪਰਪਜ਼ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਨਹੀਂ ਹੈ ਅਤੇ ਅਕਸਰ ਡਾਟਾ ਸਾਇੰਸ ਡੋਮੇਨ ਤੋਂ ਬਾਹਰ ਵਰਤੀ ਨਹੀਂ ਜਾਂਦੀ ।
* ** [Julia ](https://julialang.org/ )** ਇੱਕ ਹੋਰ ਭਾਸ਼ਾ ਹੈ ਜੋ ਖਾਸ ਕਰਕੇ ਡਾਟਾ ਸਾਇੰਸ ਲਈ ਵਿਕਸਤ ਕੀਤੀ ਗਈ ਹੈ। ਇਹ Python ਨਾਲੋਂ ਬਿਹਤਰ ਪ੍ਰਦਰਸ਼ਨ ਦੇਣ ਲਈ ਬਣਾਈ ਗਈ ਹੈ, ਜੋ ਕਿ ਵਿਗਿਆਨਕ ਪ੍ਰਯੋਗਾਂ ਲਈ ਇਕ ਸ਼ਾਨਦਾਰ ਟੂਲ ਹੈ।
ਇਸ ਪਾਠ ਵਿੱਚ, ਅਸੀਂ ਸਧਾਰਣ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਲਈ ਪਾਈਥਨ ਦਾ ਪ੍ਰਯੋਗ ਕਰਨ ਤੇ ਧਿਆਨ ਦਿਆਂਗੇ। ਅਸੀਂ ਮੰਨ ਲਵਾਂਗੇ ਕਿ ਭਾਸ਼ਾ ਨਾਲ ਬੁਨਿਆਦੀ ਜਾਣਕਾਰੀ ਹੈ। ਜੇ ਤੁਸੀਂ ਪਾਈਥਨ ਦਾ ਇੱਕ ਵਧਿਆ ਡੂੰਘਾ ਟੂਰ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਹੇਠ ਲਿਖੇ ਸਰੋਤਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਨੂੰ ਪ੍ਰਸੰਗ ਕਰ ਸਕਦੇ ਹੋ:
ਇਸ ਪਾਠ ਵਿੱਚ, ਅਸੀਂ ਸਾਦੀ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਲਈ Python ਦੀ ਵਰਤੋਂ 'ਤੇ ਧਿਆਨ ਕੇਂਦ੍ਰਿਤ ਕਰਾਂਗੇ। ਅਸੀਂ ਭਾਸ਼ਾ ਦੀ ਮੂਲ ਜਾਣਕਾਰੀ ਮੰਨ ਕੇ ਚਲਾਂਗੇ। ਜੇ ਤੁਸੀਂ Python ਦਾ ਹੋਰ ਵਿਸਥਾਰ ਵਿੱਚ ਜਾਣਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੀਆਂ ਕਿਸੇ ਇੱਕ ਸਰੋਤ ਤੋਂ ਸਹਾਇਤਾ ਲੈ ਸਕਦੇ ਹੋ:
* [ਟਰਟਲ ਗ੍ਰਾਫਿਕਸ ਅਤੇ ਫਰੈਕਟਲਜ਼ ਨਾਲ ਮਜ਼ੇਦਾਰ ਤਰੀਕੇ ਨਾਲ ਪਾਈਥਨ ਸਿੱਖੋ](https://github.com/shwars/pycourse ) - ਗਿੱਟਹੱਬ-ਅਧਾਰਿਤ ਤੇਜ਼ੀ ਨਾਲ ਪਾਈਥਨ ਪ੍ਰੋแกรมਿੰਗ ਵਿੱਚ ਦਾਖਲਾ ਪਾਠਕ੍ਰਮ
* [ਪਾਈਥਨ ਨਾਲ ਆਪਣੇ ਪਹਿਲੇ ਕਦਮ ਚੁੱਕੋ ](https://docs.microsoft.com/en-us/learn/paths/python-first-steps/?WT.mc_id=academic-77958-bethanycheum ) ਮਾਈਕ੍ਰੋਸੌਫਟ ਲਰਨ 'ਤੇ ਲਰਨਿੰਗ ਪਥ
* [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/ ) ਵਿੱਚ ਅਕਸਰ ਬਹੁਤ ਸਾਰੇ ਵਰਤੋਂਯੋਗ ਕੋਡ ਨਮੂਨੇ ਪਾਈਥਨ ਵਿੱਚ ਮਿਲਦੇ ਹਨ ਕਈ ਆਮ ਕਾਰਜਾਂ ਲਈ।
> ** ਸਭ ਤੋਂ ਲਾਭਦਾਇਕ ਸਲਾਹ**: ਜਦੋਂ ਤੁਹਾਨੂੰ ਡਾਟਾ 'ਤੇ ਕੋਈ ਖਾਸ ਕਾਰਵਾਈ ਕਰਨੀ ਹੋ ਜਿਹੜੀ ਤੁਹਾਨੂੰ ਨਹੀਂ ਆਉਂਦੀ, ਤਾਂ ਇੰਟਰਨੇਟ 'ਤੇ ਉਸ ਦੀ ਖੋਜ ਕਰੋ। [Stackoverflow ](https://stackoverflow.com/ ) ਅਮੂਮਨ Python ਵਿੱਚ ਬਹੁਤ ਸਾਰੇ ਕੂੜਾ ਕੋਡ ਦੇ ਨਮੂਨੇ ਰੱਖਦਾ ਹੈ ਜੋ ਬਹੁਤ ਸਾਰੇ ਆਮ ਕੰਮਾਂ ਲਈ ਲਾਭਦਾਇਕ ਹੁੰਦੇ ਹਨ।
## [ਪਹਿਲੇ ਵਿਦਿਆਰਥੀ ਟੈਸਟ ](https://ff-quizzes.netlify.app/en/ds/quiz/12 )
## [ਪ੍ਰੀ-ਲੈਕਚਰ ਕੁਇਜ਼ ](https://ff-quizzes.netlify.app/en/ds/quiz/12 )
## ਟੈਬੂਲਰ ਡਾਟਾ ਅਤੇ ਡਾਟਾਫਰੇਮਜ਼
## ਤਬੂਲਰ ਡਾਟਾ ਅਤੇ ਡਾਟਾਫਰੇਮ
ਜਦੋਂ ਅਸੀਂ ਸੰਬੰਧਿਤ ਡਾਟਾਬੇਸਾਂ ਬਾਰੇ ਗੱਲ ਕੀਤੀ ਸੀ, ਤਦੋਂ ਤੁਸੀਂ ਪਹਿਲਾਂ ਹੀ ਟੈਬੂਲਰ ਡਾਟਾ ਨਾਲ ਮਿਲੇ ਹੋ। ਜਦੋਂ ਤੁਹਾਡੇ ਕੋਲ ਬਹੁਤ ਸਾਰਾ ਡਾਟਾ ਹੁੰਦਾ ਹੈ ਅਤੇ ਇਹ ਬਹੁਤ ਸਾਰੀਆਂ ਵੱਖ-ਵੱਖ ਲਿੰਕ ਕੀਤੀਆਂ ਟੇਬਲਾਂ ਵਿੱਚ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਇਸ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ SQL ਵਰਤਣਾ ਵਾਜਬ ਹੁੰਦਾ ਹੈ। ਪਰ ਬਹੁਤ ਸਾਰੀਆਂ ਸਥਿਤੀਆਂ ਹੁੰਦੀਆਂ ਹਨ ਜਿੱਥੇ ਸਾਡੇ ਕੋਲ ਡਾਟਾ ਦੀ ਇੱਕ ਟੇਬਲ ਹੁੰਦੀ ਹੈ ਅਤੇ ਸਾਨੂੰ ਇਸ ਡਾਟਾ ਬਾਰੇ ਕੁਝ ** ਸਮਝ** ਜਾਂ ** ਜਾਣਕਾਰੀ** ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਵੰਡ, ਮੁੱਲਾਂ ਵਿਚਕਾਰ ਸੰਬੰਧ, ਆਦਿ। ਡਾਟਾ ਸਾਇੰਸ ਵਿੱਚ ਕਈ ਵਾਰ ਸਾਨੂੰ ਮੂਲ ਡਾਟਾ ਵਿੱਚ ਕੁਝ ਤਬਦੀਲੀਆਂ ਕਰਨੀ ਪੈਂਦੀਆਂ ਹਨ, ਜਿਸ ਤੋਂ ਬਾਅਦ ਵਿਜ਼ੁਅਲਾਈਜ਼ੇਸ਼ਨ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਨ੍ਹਾਂ ਦੋਹਾਂ ਕਦਮਾਂ ਨੂੰ ਆਸਾਨੀ ਨਾਲ Python ਦੀ ਵਰਤੋਂ ਨਾਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਤੁਸੀਂ ਪਹਿਲਾਂ ਹੀ ਤਬੂਲਰ ਡਾਟਾ ਨਾਲ ਮਿਲੋ ਹੋ ਜਦੋਂ ਅਸੀਂ ਸਬੰਧਤ ਡਾਟਾਬੇਸਾਂ ਦੀ ਗੱਲ ਕੀਤੀ ਸੀ। ਜਦੋਂ ਤੁਹਾਡੇ ਕੋਲ ਬਹੁਤ ਸਾਰਾ ਡਾਟਾ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਇਹ ਕਈ ਵੱਖ-ਵੱਖ ਜੋੜੇ ਹੋਏ ਟੇਬਲਾਂ ਵਿੱਚ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਇਹ ਇੱਕਰੂਪ ਤਰੀਕੇ ਨਾਲ SQL ਵਰਤਣਾ ਸਮਝਦਾਰੀ ਹੁੰਦੀ ਹੈ। ਪਰ ਬਹੁਤ ਸਾਰੀਆਂ ਹਾਲਤਾਂ ਵਿਚ, ਜਦੋਂ ਸਾਡੇ ਕੋਲ ਡਾਟੇ ਦਾ ਇੱਕ ਟੇਬਲ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਅਸੀਂ ਇਸ ਡਾਟੇ ਬਾਰੇ ਕੁਝ ** ਸਮਝ** ਜਾਂ ** ਨਤੀਜੇ** ਪ੍ਰਾਪਤ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹਾਂ, ਜਿਵੇਂ ਕਿ ਵਰਤੋਂ ਵੰਡ, ਮੁੱਲਾਂ ਵਿਚਕਾਰ ਸਬੰਧ, ਆਦਿ। ਡਾਟਾ ਸਾਇੰਸ ਵਿੱਚ, ਕਈ ਵਾਰੀ ਸਾਡੇ ਕੋਲ ਮੂਲ ਡਾਟੇ ਵਿੱਚ ਕੁਝ ਪਰਿਵਰਤਨ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਜਿਸ ਤੋਂ ਬਾਅਦ ਦ੍ਰਿਸ਼ਟੀਕਰਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਦੋਹਾਂ ਕਦਮਾਂ ਨੂੰ ਪਾਈਥਨ ਨਾਲ ਆਸਾਨੀ ਨਾਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
Python ਵਿੱਚ ਦੋ ਸਭ ਤੋਂ ਲਾਭਦਾਇਕ ਲਾਇਬ੍ਰੇਰੀਆਂ ਹਨ ਜੋ ਤੁਹਾਨੂੰ ਟੈਬੂলਰ ਡਾਟਾ ਨਾਲ ਕੰਮ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦੀਆਂ ਹਨ:
* ** [Pandas ](https://pandas.pydata.org/ )** ਤੁਹਾਨੂੰ ਕਹੇ ਜਾਂਦੇ ** ਡਾਟਾਫਰੇਮ** ਨੂੰ ਮੈਨਿਪੁਰਲੇਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜੋ ਸੰਬੰਧਿਤ ਟੇਬਲਾਂ ਵਰਗੇ ਹਨ। ਤੁਸੀਂ ਨਾਂਵ ਵਾਲੇ ਕਾਲਮ ਹੋ ਸਕਦੇ ਹੋ, ਅਤੇ ਸਤਰਾਂ, ਕਾਲਮਾਂ ਅਤੇ ਆਮ ਤੌਰ 'ਤੇ ਡਾਟਾਫਰੇਮਾਂ ਉੱਤੇ ਵੱਖ-ਵੱਖ ਕਾਰਵਾਈਆਂ ਕਰ ਸਕਦੇ ਹੋ।
* ** [Numpy ](https://numpy.org/ )** ** ਟੈਨਸਰਾਂ**, ਯਾਨੀ ਬਹੁ-ਮਾਤਰਾ ਵਾਲੇ ** ਐਰੇਜ਼** ਦੇ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ ਹੈ। ਐਰੇ ਵਿੱਚ ਇੱਕੋ ਕਿਸਮ ਦੇ ਮੁੱਲ ਹੁੰਦੇ ਹਨ, ਅਤੇ ਇਹ ਡਾਟਾਫਰੇਮ ਨਾਲੋਂ ਸਧਾਰਣ ਹੁੰਦਾ ਹੈ, ਪਰ ਇਹ ਹੋਰ ਗਣਿਤੀ ਕਾਰਵਾਈਆਂ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਘੱਟ ਓਹਦਾ ਪੈਦਾ ਕਰਦਾ ਹੈ।
ਪਾਈਥਨ ਵਿੱਚ ਦੋ ਸਭ ਤੋਂ ਵਰਤੋਂਯੋਗ ਲਾਇਬ੍ਰੇਰੀਆਂ ਹਨ ਜੋ ਤੁਹਾਨੂੰ ਤਬੂਲਰ ਡਾਟਾ ਨਾਲ ਨਿਪਟਣ 'ਚ ਮਦਦ ਕਰਦੀਆਂ ਹਨ:
* ** [ਪੈਂਡਾਸ](https://pandas.pydata.org/ )** ਤੁਹਾਨੂੰ ਕਿਹਾ ਜਾਂਦਾ ਹੈ ** ਡਾਟਾਫਰੇਮ** ਦੌਰਾਨ ਸੰਚਾਲਨ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੀ ਹੈ, ਜੋ ਸਬੰਧਤ ਟੇਬਲਾਂ ਦੇ ਸਮਾਨ ਹੁੰਦੇ ਹਨ। ਤੁਸੀਂ ਨਾਂਵਾਂ ਵਾਲੇ ਕਾਲਮ ਰੱਖ ਸਕਦੇ ਹੋ, ਅਤੇ ਕਤਾਰਾਂ, ਕਾਲਮਾਂ ਅਤੇ ਡਾਟਾਫਰੇਮਾਂ 'ਤੇ ਵੱਖਰੇ ਕਾਰਜ ਕਰ ਸਕਦੇ ਹੋ।
* ** [ਨੰਪਾਈ](https://numpy.org/ )** ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ ਹੈ ਜੋ ** ਟੈਂਸਰ** (ਮਲਟੀ-ਡਾਈਮੇਨਸ਼ਨਲ ** ਐਰੇ**) ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ ਬਣਾਈ ਗਈ ਹੈ। ਐਰੇ ਵਿੱਚ ਇੱਕੋ ਕਿਸਮ ਦੇ ਮੁੱਲ ਹੁੰਦੇ ਹਨ, ਅਤੇ ਇਹ ਡਾਟਾਫਰੇਮ ਨਾਲੋਂ ਸਧਾਰਣ ਹੁੰਦਾ ਹੈ, ਪਰ ਇਹ ਜ਼ਿਆਦਾ ਗਣਿਤੀ ਕਾਰਵਾਈਆਂ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਘੱਟ ਓਵਰਹੈੱਡ ਬਣਾਉਂਦਾ ਹੈ ।
ਕੁਝ ਹੋਰ ਲਾਇਬ੍ਰੇਰੀਆਂ ਵੀ ਹਨ ਜੋ ਤੁਹਾਨੂੰ ਜਾਣਨੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ:
* ** [Matplotlib](https://matplotlib.org/ )** ਡਾਟਾ ਵਿਜ਼ੁਅਲਾਈਜ਼ੇਸ਼ਨ ਅਤੇ ਗ੍ਰਾਫ ਪਲਾਟਿੰਗ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ ਹੈ
* ** [SciPy](https://www.scipy.org/ )** ਕੁਝ ਵਾਧੂ ਵਿਗਿਆਨਕ ਕਾਰਜਾਂ ਲਈ ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ ਹੈ। ਅਸੀਂ ਇਸ ਲਾਇਬ੍ਰੇਰੀ ਨਾਲ ਪਹਿਲਾਂ ਪ੍ਰਬਾਬਿਲਿਟੀ ਅਤੇ ਸਾਂਖਿਆਕ ਦੀ ਗੱਲ ਕਰਦੇ ਸਮੇਂ ਮਿਲ ਚੁੱਕੇ ਹਾਂ ।
ਕੁਝ ਹੋਰ ਲਾਇਬ੍ਰੇਰੀਆਂ ਵੀ ਹਨ ਜਿਨ੍ਹਾਂ ਬਾਰੇ ਤੁਹਾਨੂੰ ਜਾਣਕਾਰੀ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ:
* ** [ਮੈਟਪਲੌਟਲਿਬ ](https://matplotlib.org/ )** ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ ਹੈ ਜੋ ਡਾਟਾ ਦਰਸ਼ਨ ਅਤੇ ਗ੍ਰਾਫ ਬਣਾਉਣ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ
* ** [ਸਾਇਸਾਈ ](https://www.scipy.org/ )** ਕੁਝ ਵਾਧੂ ਵਿਗਿਆਨਕ ਫੰਕਸ਼ਨ ਵਾਲੀ ਲਾਇਬ੍ਰੇਰੀ ਹੈ। ਅਸੀਂ ਇਸ ਲਾਇਬ੍ਰੇਰੀ ਨਾਲ ਪਹਿਲਾਂ ਮਿਲੇ ਹਾਂ ਜਦੋਂ ਅਸੀਂ ਸੰਭਾਵਨਾ ਅਤੇ ਸਾਂਖਿਆਕ ਗੱਲਾਂ ਕੀਤੀਆਂ
ਇਹਾਂ ਇੱਕ ਪਾਈਥਨ ਪ੍ਰੋਗਰਾਮ ਦੇ ਸ਼ੁਰੂ ਵਿੱਚ ਇਹਨਾਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਇੰਪੋਰਟ ਕਰਨ ਲਈ ਆਮ ਤੌਰ ਤੇ ਵਰਤੇ ਜਾਣ ਵਾਲਾ ਕੋਡ ਹੈ:
ਹੇਠਾਂ ਇੱਕ ਕੋਡ ਦਾ ਹਿੱਸਾ ਹੈ ਜੋ ਤੁਸੀਂ ਆਮ ਤੌਰ ਤੇ ਆਪਣੇ Python ਪ੍ਰੋਗਰਾਮ ਦੀ ਸ਼ੁਰੂਆਤ ਵਿੱਚ ਇਹਨਾਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਇੰਪੋਰਟ ਕਰਨ ਲਈ ਵਰਤੋਗੇ:
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import ... # ਤੁਹਾਨੂੰ ਉਹ ਸਹੀ ਉਪ-ਪੈਕੇਜ ਲਈ ਦਰਜ ਕਰਨੇ ਚਾਹੀਦੇ ਹਨ ਜੋ ਤੁਹਾਨੂੰ ਚਾਹੀਦੇ ਹਨ
from scipy import ... # ਤੁਹਾਨੂੰ ਜ਼ਰੂਰੀ ਸਬ-ਪੈਕੇਜਾਂ ਦੀ ਸਹੀ специਫਿਕੇਸ਼ਨ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਚਾਹੀਦੇ ਹਨ
```
ਪੈਂਡਾਸ ਕੁਝ ਮੁੱਖ ਸੰਕਲਪਾਂ ਦੇ ਗੇੜ 'ਚ ਕੇਂਦ੍ਰਿਤ ਹੈ।
Pandas ਕੁਝ ਮੁਖੀ ਧਾਰਣਾਂ 'ਤੇ ਕੇਂਦ੍ਰਿਤ ਹੈ।
### ਸੀਰੀਜ਼
**ਸੀਰੀਜ਼** ਮੁੱਲਾਂ ਦੀ ਲੜੀ ਹੁੰਦੀ ਹੈ, ਜੋ ਇੱਕ ਸੂਚੀ ਜਾਂ ਨੰਪਾਈ ਐਰੇ ਵਰਗੀ ਹੁੰਦੀ ਹੈ। ਮੁੱਖ ਫਰਕ ਇਹ ਹੈ ਕਿ ਸੀਰੀਜ਼ ਦੇ ਇੱਕ ** ਇੰਡੈਕਸ** ਵੀ ਹੁੰਦਾ ਹੈ, ਅ ਤੇ ਜਦੋਂ ਅਸੀਂ ਸੀਰੀਜ਼ 'ਤੇ ਵਰਕ ਕਰਦੇ ਹਾਂ (ਜਿਵੇਂ ਕਿ ਜੋੜ ਕਰਨ ਾ), ਤਾਂ ਇੰਡੈਕਸ ਨੂੰ ਧਿਆਨ ਵਿਚ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ। ਇੰਡੈਕਸ ਸਧਾਰਣ ਇੰਟੀਜਰ ਕਤਾਰ ਨੰਬਰ ਹੋ ਸਕਦਾ ਹੈ (ਜੋ ਡਿਫ਼ਾਲਟ ਰੂਪ ਵਿੱਚ ਸੂਚੀ ਜਾਂ ਐਰੇ ਤੋਂ ਸੀਰੀਜ਼ ਬਣਾਉਣ ਵੇਲੇ ਵਰਤੀ ਜਾਂਦੀ ਹੈ), ਜਾਂ ਇਹ ਕਿਸੇ ਜਟਿਲ ਬਣਤਰ, ਜਿਵੇਂ ਕਿ ਮਿਤੀ ਅੰਤਰਾਲ, ਵਾਲਾ ਹੋ ਸਕਦਾ ਹੈ ।
**ਸੀਰੀਜ਼** ਮੁੱਲਾਂ ਦੀ ਇੱਕ ਲੜੀ ਹੁੰਦੀ ਹੈ, ਜੋ ਲਿਸਟ ਜਾਂ numpy ਐਰੇ ਵਾਂਗ ਹੈ। ਮੁੱਖ ਫਰਕ ਇਹ ਹੈ ਕਿ ਸੀਰੀਜ਼ ਦਾ ਇੱਕ ** ਇੰਡੈਕਸ** ਵੀ ਹੁੰਦਾ ਹੈ, ਤੇ ਜਦੋਂ ਅਸੀਂ ਸੀਰੀਜ਼ਾਂ 'ਤੇ ਕਾਰਵਾਈ ਕਰਦੇ ਹਾਂ (ਜਿਵੇਂ, ਜੋੜਣ ਾ), ਤਾਂ ਇੰਡੈਕਸ ਨੂੰ ਧਿਆਨ ਵਿੱ ਚ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ। ਇੰਡੈਕਸ ਬਹੁਤ ਸਧਾਰਨ integer ਨੰਬਰ (ਜੋ ਆਮ ਤੌਰ 'ਤੇ लिस्ट ਜਾਂ ਐਰੇ ਤੋਂ ਸੀਰੀਜ਼ ਬਣਾਉਂਦਿਆਂ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ) ਹੋ ਸਕਦਾ ਹੈ ਜਾਂ ਇਹ ਇੱਕ ਜਟਿਲ ਸੰਰਚਨਾ ਵੀ ਹੋ ਸਕਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਤਾਰੀਖ ਦੀ ਕਟੀ ।
> ** ਨੋਟ**: ਸਾਥੀ ਨੋਟਬੁੱਕ [`notebook.ipynb` ](notebook.ipynb ) ਵਿੱਚ ਕੁਝ ਮੁੱਢਲੇ ਪੈਂਡਾਸ ਕੋਡ ਉਪਲਬਧ ਹਨ। ਅਸੀਂ ਇੱਥੇ ਸਿਰਫ ਕੁਝ ਉਦਾਹਰਣਾਂ ਦਾ ਸੰਖੇਪ ਕਰਦੇ ਹਾਂ, ਅਤੇ ਤੁਸੀਂ ਪੂਰੇ ਨੋਟਬੁੱਕ ਨੂੰ ਦੇਖ ਸਕਦੇ ਹੋ।
> ** ਨੋਟ**: ਸੱਜੇ ਮੂਸਰ ਨਾਲ ਦਿੱਤੀ ਗਈ ਨੋਟਬੁੱਕ [`notebook.ipynb` ](notebook.ipynb ) ਵਿੱਚ ਕੁਝ ਪ੍ਰਾਰੰਭਿਕ Pandas ਕੋਡ ਹੈ। ਅਸੀਂ ਇੱਥੇ ਕੇਵਲ ਕੁਝ ਉਦਾਹਰਨਾਂ ਦਾ ਹੀ ਖੁਲਾਸਾ ਕਰਦੇ ਹਾਂ, ਅਤੇ ਤੁਸੀਂ ਪੂਰੀ ਨੋਟਬੁੱਕ ਵੀ ਦੇਖ ਸਕਦੇ ਹੋ।
ਇੱਕ ਉਦਾਹਰਣ ਸੋਚੋ: ਅਸੀਂ ਆਪਣੇ ਆਈਸਕريم ਸਟਾਲ ਦੀ ਵਿਕਰੀ ਦੀ ਵਿਸ਼ਲੇਸ਼ਣਾ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹਾਂ। ਚਲੋ ਕੁਝ ਸਮੇਂ ਦੇ ਲਈ ਵਿਕਰੀ ਦੇ ਅੰਕੜੇ (ਹਰ ਦਿਨ ਵੇਚੇ ਗਏ ਆਈਟਮਾਂ ਦੀ ਗਿਣਤੀ) ਵਾਲੀ ਇੱਕ ਸੀਰੀਜ਼ ਬਣਾਈਏ:
ਇੱਕ ਉਦਾਹਰਨ ਲਓ: ਅਸੀਂ ਆਪਣੀ ਆਈਸਕ੍ਰੀਮ ਦੁਕਾਨ ਦੀ ਵਿਕਰੀ ਦਾ ਵਿਸਲੇਸ਼ਣ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹਾਂ। ਆਓ ਕਿਸੇ ਸਮੇਂ ਦੌਰਾਨ ਕਣਿਕ ਤੌਰ 'ਤੇ ਵਿਕਰੀ ਦੇ ਨੰਬਰ (ਹਰ ਦਿਨ ਵੇਚੇ ਗਏ ਆਈਟਮਾਂ ਦੀ ਗਿਣਤੀ) ਦੀ ਇੱਕ ਸੀਰੀਜ਼ ਤਿਆਰ ਕਰੀਏ:
```python
start_date = "Jan 1, 2020"
@ -68,49 +67,45 @@ items_sold.plot()
```

ਹੁਣ ਮੰਨ ਲਓ ਕਿ ਹਰ ਹਫ਼ਤੇ ਅਸੀਂ ਮਿੱਤਰਾਂ ਲਈ ਇੱਕ ਪਾਰਟੀ ਕਰਦੇ ਹਾਂ, ਅਤੇ ਪਾਰਟੀ ਲਈ ਤੇਜ਼ 10 ਪੈਕੇਟ ਆਈਸਕ੍ਰੀਮ ਲੈ ਜਾਂਦੇ ਹਾਂ। ਅਸੀਂ ਇਸ ਨੂੰ ਦਰਸਾਉਣ ਲਈ ਇੱਕ ਹੋਰ ਸੀਰੀਜ਼ ਵੀ ਬਣਾ ਸਕਦੇ ਹਾਂ, ਜੋ ਹਫਤੇ ਦੁਆਰਾ ਇੰਡੈਕਸ ਕੀਤੀ ਗਈ ਹੈ:
ਹੁਣ ਧਰੋ ਕਿ ਹਰ ਹਫ਼ਤੇ ਅਸੀਂ ਦੋਸਤਾਂ ਲਈ ਇੱਕ ਪਾਰਟੀ ਕਰਦੇ ਹਾਂ, ਅਤੇ ਅਸੀਂ ਪਾਰਟੀ ਲਈ ਵਾਧੂ 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()
```

> ** ਨੋਟ** ਇਹ ਹੈ ਕਿ ਅਸੀਂ ਸਧਾਰਣ ਗਣਿਤ ਸ਼ੈਲੀ `total_items+additional_items` ਵਰਤ ਨਹੀਂ ਰਹੇ ਹਾਂ। ਜੇ ਅਸੀਂ ਅਜਿਹਾ ਕੀਤਾ ਹੁੰਦਾ, ਤਾਂ ਪ੍ਰਾਪਤ ਸੀਰੀਜ਼ ਵਿੱਚ ਬਹੁਤ ਸਾਰੇ `NaN` (*ਨੰਬਰ ਨਹੀਂ*) ਮੁੱਲ ਹੁੰਦੇ। ਇਸ ਦਾ ਕਾਰਨ ਹੈ ਕਿ `additional_items` ਸੀਰੀਜ਼ ਵਿੱਚ ਕੁਝ ਇੰਡੈਕਸਾਂ ਲਈ ਮੁੱਲ ਮੌਜੂਦ ਨਹੀਂ ਹੁੰਦੇ, ਅਤੇ `NaN` ਨੂੰ ਕਿਸੇ ਵੀ ਚੀਜ਼ ਨਾਲ ਜੋੜਨ पर ਨਤੀਜਾ `NaN` ਹੁੰਦਾ ਹੈ। ਇਸ ਲਈ ਜੋੜਨ ਤੇ `fill_value` ਪੈਰਾਮੀਟਰ ਦਿਓਣਾ ਲਾਜ਼ਮ ੀ ਹੈ।
> ** ਨੋਟ** ਕਿ ਅਸੀਂ ਸਧਾਰਨ ਲਿਖਤ `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')
```


### ਡਾਟਾਫਰੇਮ
### ਡਾਟਾ ਫਰੇਮ
ਡਾਟਾਫਰੇਮ ਅਸਲ ਵਿੱਚ ਇੱਕ ਐਸੀ ਸੰਕਲਪਨਾ ਹੈ ਜੋ ਸਿਖਰ ਵਾਲੇ ਇੰਡੈਕਸ ਵਾਲੀਆਂ ਕਈ ਸੀਰੀਜ਼ ਤੋਂ ਬਣੀ ਹੁੰਦੀ ਹੈ। ਅਸੀਂ ਕਈ ਸੀਰੀਜ਼ਾਂ ਨੂੰ ਮਿਲਾ ਕੇ ਡਾਟਾਫਰੇਮ ਬਣਾ ਸਕਦੇ ਹਾਂ:
ਡਾਟਾ ਫਰੇਮ ਅਸਲ ਵਿੱਚ ਇੱਕ ਅਜਿਹਾ ਸੰਗ੍ਰਹਿ ਹੈ ਜੋ ਇੱਕੋ ਜਿਹਾ ਇੰਡੈਕਸ ਰੱਖਣ ਵਾਲੀ ਕਈ ਸੀਰੀਜ਼ਾਂ ਦਾ ਹੁੰਦਾ ਹੈ। ਅਸੀਂ ਕਈ ਸੀਰੀਜ਼ਾਂ ਨੂੰ ਇਕੱਠੇ ਮਿਲਾ ਕੇ ਇੱਕ ਡਾਟਾ ਫਰੇਮ ਬਣਾ ਸਕਦੇ ਹਾਂ:
```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 |
| --- | --- | ------ |
@ -124,42 +119,39 @@ df = pd.DataFrame({ 'A' : a, 'B' : b })
| 7 | 8 | very |
| 8 | 9 | much |
**ਨੋਟ**: ਅਸੀਂ ਪਿਛਲੇ ਟੇਬਲ ਨੂੰ ਟ੍ਰਾਂਸਪੋਜ਼ ਕਰਕੇ ਵੀ ਇਹੇ ਲੇਆਉਟ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹਾਂ, ਜਿਵੇਂ ਕਿ
**ਨੋਟ** ਕਿ ਅਸੀਂ ਇਹ ਟੇਬਲ ਖੁਦ ਪਹਿਲਾ ਵਾਲਾ ਟੇਬਲ ਟ੍ਰਾਂਸਪੋਜ਼ ਕਰਕੇ ਵੀ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹਾਂ, ਜਿਵੇਂ ਕਿ ਲਿਖ ਕੇ
```python
df = pd.DataFrame([a,b]).T..rename(columns={ 0 : 'A', 1 : 'B' })
```
ਇੱਥੇ `.T` ਡਾਟਾਫਰੇਮ ਨੂੰ ਟ੍ਰਾਂਸਪੋਜ਼ ਕਰਨ ਲਈ ਹੈ, ਜਿਸਦਾ ਅਰਥ ਹੈ ਕਤਾਰਾਂ ਅਤੇ ਕਾਲਮਾਂ ਨੂੰ ਬਦਲਣਾ, ਅਤੇ `rename` ਆਪਰੇਸ਼ਨ ਸਾਨੂੰ ਪਿਛਲੇ ਉਦਾਹਰਣ ਨਾਲ ਮੇਲ ਖਾਂਦੇ ਕਾਲਮਾਂ ਦੇ ਨਾਮ ਰੱਖਣ ਦਿੰਦਾ ਹੈ।
ਇੱਥੇ `.T` ਦਾ ਅਰਥ ਡਾਟਾ ਫਰੇਮ ਦਾ ਟ੍ਰਾਂਸਪੋਜ਼ ਕਰਨਾ ਹੈ, ਜਿਸ ਦਾ ਮਤਲਬ ਸਤਰ ਅਤੇ ਕਾਲਮ ਬਦਲ ਜਾਣਾ ਹੁੰਦਾ ਹੈ, ਅਤੇ `rename` ਕਾਰਵਾਈ ਸਾਨੂੰ ਕਾਲਮਾਂ ਦੇ ਨਾਮ ਪਹਿਲਾਂ ਦੀ ਤਰ੍ਹਾਂ ਦੇਣ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ।
ਡਾਟਾਫਰੇਮਾਂ 'ਤੇ ਅਸੀਂ ਕੁਝ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਕਾਰਜ ਕਰ ਸਕਦੇ ਹਾਂ:
ਡਾਟਾ ਫਰੇਮਾਂ 'ਤੇ ਅਸੀਂ ਕੁਝ ਬਹੁਤ ਮਤਵਪੂਰਣ ਕਾਰਵਾਈਆਂ ਕਰ ਸਕਦੇ ਹਾਂ:
**ਕਾਲਮ ਚੋਣ**। ਅਸੀਂ `df['A']` ਲਿਖ ਕੇ ਵੱਖਰਾ ਕਾਲਮ ਚੁਣ ਸਕਦੇ ਹਾਂ - ਇਹ ਅਪਰੈਸ਼ਨ ਇੱਕ ਸੀਰੀਜ਼ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਅਸੀਂ `df[['B','A']]` ਲਿਖ ਕੇ ਕਾਲਮਾਂ ਦੇ ਸੈੱਟ ਨੂੰ ਚੁਣ ਸਕਦੇ ਹਾਂ - ਇਹ ਹੋਰ ਡਾਟਾਫਰੇਮ ਵਾਪਸ ਕਰ ਦਾ ਹੈ।
**ਕਾਲਮ ਚੋਣ**। ਅਸੀਂ `df['A']` ਲਿਖ ਕੇ ਵਿਅਕਤੀਗਤ ਕਾਲਮਾਂ ਚੁਣ ਸਕਦੇ ਹਾਂ - ਇਸ ਕਾਰਵਾਈ ਨਾਲ ਇੱਕ ਸੀਰੀਜ਼ ਮਿਲਦੀ ਹੈ। ਅਸੀਂ `df[['B','A']]` ਲਿਖ ਕੇ ਕਾਲਮਾਂ ਦੇ ਇੱਕ ਸੈੱਟ ਨੂੰ ਇਕ ਹੋਰ ਡਾਟਾ ਫਰੇਮ ਵਿੱਚ ਵੀ ਚੁਣ ਸਕਦੇ ਹਾਂ - ਇਹ ਇੱਕ ਨਵਾਂ ਡਾਟਾ ਫਰੇਮ ਦਿੰ ਦਾ ਹੈ।
**ਝਾੜਨਾ** ਸਿਰਫ਼ ਕੁਝ ਕਤਾਰਾਂ ਨੂੰ ਮਿਨਹ ਕਰਕੇ। ਉਦਾਹਰਣ ਲਈ, ਸਿਰਫ ਉਹੀ ਕਤਾਰਾਂ ਛੱਡਣ ਲਈ ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਕਾਲਮ `A` 5 ਤੋਂ ਵੱਡਾ ਹੈ, ਅਸੀਂ ਲਿਖ ਸਕਦੇ ਹਾਂ `df[df['A']>5]` .
**ਮਿਆਰ ਅਨੁਸਾਰ ਸਿਰਫ਼ ਕੁਝ ਸਤਰਾਂ ਫਿਲਟਰ ਕਰਨਾ**। ਉਦਾਹਰਨ ਵੱਜੋਂ, ਜੇ ਸਾਨੂੰ ਸਿਰਫ਼ ਉਹੀ ਸਤਰਾਂ ਲੈਣੀਆਂ ਹਨ ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਕਾਲਮ `A` ਦੀ ਵੈਲਿਊ 5 ਤੋਂ ਵੱਧ ਹੈ, ਤਾਂ ਅਸੀਂ `df[df['A']>5]` ਲਿਖ ਸਕਦੇ ਹਾਂ।
> ** ਨੋਟ**: ਝਾੜਨ ਦਾ ਤਰੀਕਾ ਇਹ ਹੈ। ਐਕਸਪ੍ਰੈਸ਼ਨ `df['A']<5` ਇੱਕ ਬੂਲੀਅਨ ਸੀਰੀਜ਼ ਰਿਟਰਨ ਕਰਦਾ ਹੈ, ਜੋ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਕਤਾਰਾਂ ਲਈ ਇਹ ਸੱਚ ਹੈ ਜਾਂ ਗਲਤ। ਜਦੋਂ ਇਹ ਬੂਲੀਅਨ ਸੀਰੀਜ਼ ਇੰਡੈਕਸ ਵਜੋਂ ਵਰਤੀ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਇਹ ਡਾਟਾਫਰੇਮ ਵਿੱਚੋਂ ਉਹੀ ਕਤਾਰਾਂ ਚੁਣਦਾ ਹੈ ਜਿੰਨ੍ਹਾਂ ਦੀ ਕਨਰਡੀਸ਼ਨ ਸਚ ਹੈ। ਇਸ ਲਈ ਇੱਕ ਆਮ ਪਾਈਥਨ ਬੂਲੀਅਨ ਐਕਸਪ੍ਰੈਸ਼ਨ ਵਰਤਣਾ ਸੰਭਵ ਨਹੀਂ ਹੈ, ਜਿਵੇਂ ਕਿ `df[df['A']>5 and df['A']<7]` ਗਲਤ ਹੈ। ਇਸ ਦੀ ਬਜਾਏ, ਤੁਸੀਂ ਬੂਲੀਅਨ ਸੀਰੀਜ਼ਾਂ 'ਤੇ ਖਾਸ `&` ਆਪਰੇਸ਼ਨ ਵਰਤਣੀ ਚਾਹੀਦੀ ਹੈ, ਜਿਵੇਂ `df[(df['A']>5) & (df['A']<7)]` (*ਬਰੈਕਟ ਬਹੁਤ ਜਰੂਰੀ ਹਨ *).
> ** ਨੋਟ**: ਫਿਲਟਰਿੰਗ ਦਾ ਕਾਰਜ ਇਸ ਤਰ੍ਹਾਂ ਹੁੰਦਾ ਹੈ। `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 ਦੇ ਮੀਨ ਮੁੱਲ ਤੋਂ ਡਾਈਵਰਜੈਂਸ ਦੀ ਗਣਨਾ ਕਰਦਾ ਹੈ। ਅਸਲ ਵਿੱਚ ਅਸੀਂ ਇੱਕ ਸੀਰੀਜ਼ ਗਣਨਾ ਕਰ ਰਹੇ ਹਾਂ, ਅਤੇ ਇਸ ਨੂੰ ਖੱਬੇ ਹੱਥ ਦੇ ਨਾਲ ਅਸਾਈਨ ਕਰ ਰਹੇ ਹਾਂ, ਜਿਸ ਨਾਲ ਇੱਕ ਹੋਰ ਕਾਲਮ ਬਣਦਾ ਹੈ। ਇਸ ਲਈ, ਅਸੀਂ ਉਹਨਾਂ ਕਾਰਵਾਈਆਂ ਨੂੰ ਵਰਤ ਨਹੀਂ ਸਕਦੇ ਜੋ ਸੀਰੀਜ਼ ਨਾਲ ਮੇਲ ਨਹੀਂ ਖਾਂਦੀਆਂ, ਉਦਾਹਰਣ ਵਜੋਂ ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਗਲਤ ਹੈ:
ਇਸ ਉਦਾਹਰਨ ਵਿੱਚ ਅਸੀਂ A ਦੇ ਆਪਣੀ ਔਸਤ ਵੈਲਿਊ ਤੋਂ ਝੁਕਾਅ ਦੀ ਗਣਨਾ ਕਰ ਰਹੇ ਹਾਂ। ਅਸਲ ਵਿੱਚ ਇਹ ਹੁੰਦਾ ਹੈ ਕਿ ਅਸੀਂ ਇੱਕ ਸੀਰੀਜ਼ ਹਿਸਾਬ ਕਰ ਰਹੇ ਹਾਂ ਅਤੇ ਫਿਰ ਇਸ ਸੀਰੀਜ਼ ਨੂੰ ਖੱਬੇ ਪਾਸੇ ਅਸਾਈਨ ਕਰ ਕੇ ਇੱਕ ਹੋਰ ਕਾਲਮ ਬਣਾ ਰਹੇ ਹਾਂ। ਇਸ ਕਾਰਨ, ਅਸੀਂ ਉਹ ਕਾਰਵਾਈਆਂ ਨਹੀਂ ਕਰ ਸਕਦੇ ਜੋ ਸੀਰੀਜ਼ਾਂ ਲਈ ਸੁਟੇਬਲ ਨਹੀਂ ਹਨ, ਉਦਾਹਰਨ ਵਜੋਂ, ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਗਲਤ ਹੈ:
```python
# ਗਲਤ ਕੋਡ -> df['ADescr'] = "Low" ਜੇ df['A'] < 5 ਹ ੋ ਵ ੇ ਤ ਾ ਂ ਨ ਹ ੀ ਂ ਤ ਾ ਂ " Hi "
# ਗਲਤ ਕੋਡ -> df['ADescr'] = "Low" ਜੇਕਰ df['A'] < 5 ਹ ੋ ਵ ੇ ਤ ਾ ਂ " Low " ਨ ਹ ੀ ਂ ਤ ਾ ਂ " Hi "
df['LenB'] = len(df['B']) # < - ਗ ਲ ਤ ਨ ਤ ੀ ਜ ਾ
```
ਆਖਰੀ ਉਦਾਹਰਣ, ਜਿਥੇ ਸੰਕੇਤਕ ਤੌਰ 'ਤੇ ਸਹੀ ਹੋਣ ਦੇ ਬਾਵਜੂਦ, ਸਾਡਾ ਨਤੀਜਾ ਗਲਤ ਆਉਂਦਾ ਹੈ ਕਿਉਂਕਿ ਇਹ `B` ਦੀ ਲੰਬਾਈ ਸਾਰੇ ਕਾਲਮ ਦੀਆਂ ਵੈਲਯੂਜ਼ 'ਚ ਭੇਜਦਾ ਹੈ, ਨਾ ਕਿ ਲੰਬਾਈ ਨੂੰ ਜਿਵੇਂ ਅਸੀਂ ਚਾਹੁੰਦੇ ਸੀ।
ਪਿਛਲਾ ਉਦਾਹਰਨ, ਜਿਸ ਰੂਪ ਵਿੱਚ syntax ਸਹੀ ਹੈ, ਗਲਤ ਨਤੀਜਾ ਦਿੰਦਾ ਹੈ ਕਿਉਂਕਿ ਇਹ ਸੀਰੀਜ਼ B ਦੀ ਲੰਬਾਈ ਨੂੰ ਸਾਰੀਆਂ ਵੈਲਿਊਜ਼ 'ਤੇ ਨਿਯੁਕਤ ਕਰਦਾ ਹੈ, ਨਾ ਕਿ ਹਰ ਇਕ ਐਲੀਮੈਂਟ ਦੀ ਲੰਬਾਈ ਜਿਵੇਂ ਕਿ ਅਸੀਂ ਖਿਆਲ ਕੀਤਾ ਸੀ।
ਜੇ ਅਸੀਂ ਅਜਿਹੀਆਂ ਜਟਿਲ ਗਣਨਾਵੀਂ ਕਰਨੀ ਹੋਣ ਤਾਂ ਅਸੀਂ `apply` ਫੰਕਸ਼ਨ ਵਰਤ ਸਕਦੇ ਹਾਂ। ਆਖਰੀ ਉਦਾਹਰਣ ਨੂੰ ਹੇਠਾਂ ਇਸ ਤਰ੍ਹਾਂ ਲਿਖਿਆ ਜਾ ਸਕਦਾ ਹੈ:
ਜੇ ਸਾਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਜਟਿਲ ਅਭਿਵਿਆਕਤੀਆਂ ਦਾ ਗਣਨ ਕਰਨਾ ਹੋਵੇ, ਤਾਂ ਅਸੀਂ `apply` ਫੰਕਸ਼ਨ ਵਰਤ ਸਕਦੇ ਹਾਂ। ਆਖਰੀ ਉਦਾਹਰਨ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਲਿਖਿਆ ਜਾ ਸਕਦਾ ਹੈ:
```python
df['LenB'] = df['B'].apply(lambda x : len(x))
# ਜਾਂ
df['LenB'] = df['B'].apply(len)
```
ਉੱਪਰ ਦਿੱਤੀਆਂ ਕਾਰਵਾਈਆਂ ਤੋਂ ਬਾਅਦ, ਅਸੀਂ ਹੇਠਾਂ ਦਿੱਤਾ ਡਾਟਾਫਰੇਮ ਪ੍ਰਾਪਤ ਕਰਾਂਗੇ :
ਉਪਰੋਕਤ ਕਾਰਵਾਈਆਂ ਤੋਂ ਬਾਅਦ ਸਾਡੇ ਕੋਲ ਹੇਠਾਂ ਦਿੱਤਾ ਡਾਟਾ ਫਰੇਮ ਬਣੇਗਾ :
| | A | B | DivA | LenB |
| --- | --- | ------ | ---- | ---- |
@ -173,121 +165,117 @@ df['LenB'] = df['B'].apply(len)
| 7 | 8 | very | 3.0 | 4 |
| 8 | 9 | much | 4.0 | 4 |
**ਨੰਬਰਾਂ ਦੀ ਬੁਨਿਆਦ 'ਤੇ ਕਤਾਰਾਂ ਚੁਣਨਾ** `iloc` ਸੰਗ੍ਰਚਨਾ ਨਾਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਉਦਾਹਰਣ ਲਈ, ਡਾਟਾਫਰੇਮ ਵਿੱਚੋਂ ਪਹਿਲੀਆਂ 5 ਕਤਾਰਾਂ ਚੁਣਨ ਲਈ:
**ਨੰਬਰਾਂ ਦੇ ਆਧਾਰ 'ਤੇ ਸਤਰਾਂ ਚੁਣਨਾ** `iloc` ਗਠਨਕ ਦੀ ਵਰਤੋਂ ਨਾਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਉਦਾਹਰਨ ਵੱਜੋਂ, ਪਹਿਲੀਆਂ 5 ਸਤਰਾਂ ਚੁਣਣ ਲਈ:
```python
df.iloc[:5]
```
**ਗਰੂਪਿੰਗ** ਨੂੰ ਅਕਸਰ Excel ਵਿੱਚ *ਪਿਵਟ ਟੇਬਲ* ਵਾਂਗ ਮਿਲਦਾ ਜਾ ਸਕਦਾ ਹੈ। ਮੰਨੋ ਅਸੀਂ ਕਾਲਮ `A` ਦਾ ਮਤਲਬ ਹਰ `LenB` ਦੀ ਗਿਣਤੀ ਲਈ ਨਿਕਾਲਣਾ ਚਾਹੁੰਦੇ ਹਾਂ। ਤਾਂ ਅਸੀਂ ਆਪਣੀ ਡਾਟਾਫਰੇਮ ਨੂੰ `LenB` ਦੁਆਰਾ ਗਰੂਪ ਕਰ ਸਕਦੇ ਹਾਂ ਅਤੇ `mean` ਕਾਲ ਕਰ ਸਕਦੇ ਹਾਂ:
**ਗ੍ਰੂਪ ਕਰਨਾ** ਅਕਸਰ Excel ਵਿੱਚ ਪਿਵਟ ਟੇਬਲਾਂ ਵਾਂਗ ਨਤੀਜੇ ਪ੍ਰਾਪਤ ਕਰਨ ਦੇ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਧਰੋ ਕਿ ਅਸੀਂ ਕਾਲਮ `A` ਦੀ ਔਸਤ ਵੈਲਿਊ `LenB` ਦੇ ਹਰ ਮੁੱਲ ਲਈ ਕੱਢਣੀ ਹੈ। ਤਾਂ ਸਾਨੂੰ ਆਪਣਾ ਡਾਟਾ ਫਰੇਮ `LenB` ਮੁਤਾਬਕ ਗਰੂਪ ਕਰਕੇ `mean` ਕਾਲ ਕਰਨਾ ਪਵੇਗਾ:
```python
df.groupby(by='LenB')[['A','DivA']].mean()
```
ਜੇ ਸਾਨੂੰ ਸਮੂਹ ਵਿੱਚ ਮੁੱਲਾਂ ਦੀ ਗਿਣਤੀ ਅਤੇ ਮਤਲਬ ਦੋਹਾਂ ਦੀ ਲੋੜ ਹੋਵੇ ਤਾਂ ਅਸੀਂ ਜਟਿਲ `aggregate` ਫੰਕਸ਼ਨ ਵਰਤ ਸਕਦੇ ਹਾਂ:
ਜੇ ਸਾਨੂੰ ਗਰੂਪ ਦਾ ਮੱਧ ਮੁੱਲ ਅਤੇ ਗਿਣਤੀ ਦੋਹਾਂ ਕੱਢਣੇ ਹੋਣ ਤਾਂ ਅਸੀਂ ਵਧੇਰੇ ਜਟਿਲ `aggregate` ਫੰਕਸ਼ਨ ਵਰਤ ਸਕਦੇ ਹਾਂ:
```python
df.groupby(by='LenB') \
.aggregate({ 'DivA' : len, 'A' : lambda x: x.mean() }) \
.rename(columns={ 'DivA' : 'Count', 'A' : 'Mean'})
```
ਇਸ ਦਾ ਪਰਿਣਾਮ ਹੇਠਾਂ ਦਿੱਤੇ ਟੇਬਲ ਰੂਪ ਵਿੱਚ ਆਉਂਦਾ ਹੈ:
ਇਸ ਨਾਲ ਸਾਡੇ ਕੋਲ ਹੇਠਾਂ ਦਿੱਤਾ ਟੇਬਲ ਬਣੇਗਾ:
| LenB | ਗਿਣਤੀ | ਮਤਲਬ |
| ---- | ------ | -------- |
| 1 | 1 | 1.000000 |
| 2 | 1 | 3.000000 |
| 3 | 2 | 5.000000 |
| 4 | 3 | 6.333333 |
| 6 | 2 | 6.000000 |
| LenB | Count | Mean |
| ---- | ----- | -------- |
| 1 | 1 | 1.000000 |
| 2 | 1 | 3.000000 |
| 3 | 2 | 5.000000 |
| 4 | 3 | 6.333333 |
| 6 | 2 | 6.000000 |
### ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰਨਾ
ਅਸੀਂ ਵੇਖਿਆ ਹੈ ਕਿ Python ਆਬਜੈਕਟਸ ਤੋਂ Series ਅਤੇ DataFrames ਬਣਾਉਣਾ ਕਿੰਨਾ ਆਸਾਨ ਹੈ। ਹਾਲਾਂਕਿ, ਡੇਟਾ ਆਮ ਤੌਰ 'ਤੇ ਇੱਕ ਟੈਕਸਟ ਫਾਈਲ ਜਾਂ Excel ਸਾਰਣੀ ਦੇ ਰੂਪ ਵਿੱਚ ਆਉਂਦਾ ਹੈ। ਖੁਸ਼ਕਿਸਮਤੀ ਨਾਲ, Pandas ਸਾਨੂੰ ਡਿਸਕ ਤੋਂ ਡੇਟਾ ਲੋਡ ਕਰਨ ਦਾ ਇੱਕ ਸਧਾਰਣ ਤਰੀਕਾ ਦਿੰਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, CSV ਫਾਈਲ ਨੂੰ ਪੜ੍ਹਨਾ ਇੰਨਾ ਹੀ ਆਸਾਨ ਹੈ:
ਅਸੀਂ ਦੇਖਿਆ ਹੈ ਕਿ ਕਿਵੇਂ ਸਹੀ ਢੰਗ ਨਾਲ ਪਾਇਥਨ ਆਬਜੈਕਟਸ ਤੋਂ ਸੀਰੀਜ਼ ਅਤੇ ਡੇਟਾ ਫਰੇਮ ਬਣਾਏ ਜਾ ਸਕਦੇ ਹਨ। ਹਾਲਾਂਕਿ, ਡਾਟਾ ਆਮ ਤੌਰ 'ਤੇ ਇੱਕ ਟੈਕਸਟ ਫਾਈਲ ਜਾਂ ਇਕਸੇਲ ਟੇਬਲ ਦੇ ਰੂਪ ਵਿੱਚ ਆਉਂਦਾ ਹੈ। ਖੁਸ਼ਕਿਸਮਤੀ ਨਾਲ, Pandas ਸਾਨੂੰ ਡਿਸਕ ਤੋਂ ਡਾਟਾ ਲੋਡ ਕਰਨ ਦਾ ਇੱਕ ਸਧਾਰਣ ਤਰੀਕਾ ਦਿੰਦਾ ਹੈ। ਉਦਾਹਰਨ ਵਜੋਂ, CSV ਫਾਈਲ ਪੜ੍ਹਨਾ ਇਹਨਾ ਹੀ ਸੌਖਾ ਹੈ:
```python
df = pd.read_csv('file.csv')
```
ਅਸੀਂ ਹੋਰ ਉਦਾਹਰਨਾਂ ਵੇਖਾਂਗੇ, ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਬਾਹਰੀ ਵੈੱਬਸਾਈਟਾਂ ਤੋਂ ਡਾਟਾ ਲੈਣਾ ਵੀ ਸ਼ਾਮਲ ਹੈ, "ਚੈਲੇਂਜ" ਸੈਕਸ਼ਨ ਵਿੱਚ
ਅਸੀਂ ਹੋਰ ਉਦਾਹਰਨਾਂ ਵੇਖਾਂਗੇ ਡੇਟਾ ਲੋਡ ਕਰਨ ਦੀ, ਜਿਸ ਵਿੱਚ ਬਾਹਰੀ ਵੈੱਬਸਾਈਟਾਂ ਤੋਂ ਡਾਟਾ ਲਿਆਉਣਾ ਵੀ ਸ਼ਾਮਲ ਹੈ, "ਚੈਲੇਂਜ" ਭਾਗ ਵਿੱਚ।
### ਪ੍ਰਿੰਟਿੰਗ ਅਤੇ ਪਲਾਟਿੰਗ
### ਪ੍ਰਿੰਟਿੰਗ ਅਤੇ ਪਲੌਟਿੰਗ
ਇੱਕ ਡੇਟਾ ਸਾਇੰਟਿਸਟ ਨੂੰ ਅਕਸਰ ਡੇਟਾ ਦੀ ਜਾਂਚ ਕਰਨੀ ਪੈਂਦੀ ਹੈ, ਇਸ ਲਈ ਇਸਨੂੰ ਵਿਜੁਅਲਾਈਜ਼ ਕਰਨਾ ਜਰੂਰੀ ਹੁੰਦਾ ਹੈ। ਜਦੋਂ DataFrame ਵੱਡਾ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਅਕਸਰ ਸਿਰਫ਼ ਪਹਿਲੀਆਂ ਕੁਝ ਪੰਗਤੀਆਂ ਪ੍ਰਿੰਟ ਕਰਕੇ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਅਸੀਂ ਸਾਰਾ ਕੰਮ ਸਹੀ ਕਰ ਰਹੇ ਹਾਂ। ਇਹ ਕੰਮ `df.head()` ਕਾਲ ਕਰਕੇ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਇਹ Jupyter Notebook ਵਿੱਚ ਚਲਾਉਂਦੇ ਹੋ, ਤਾਂ ਇਹ DataFrame ਨੂੰ ਇੱਕ ਸੁੰਦਰ ਟੇਬੂਲਰ ਰੂਪ ਵਿੱਚ ਪ੍ਰਿੰਟ ਕਰੇਗਾ।
ਇੱਕ ਡਾਟਾ ਸਾਇੰਟਿਸਟ ਨੂੰ ਅਕਸਰ ਡਾਟਾ ਦਾ ਪਤਾ ਲਗਾਉਣਾ ਪੈਂਦਾ ਹੈ, ਇਸ ਲਈ ਇਸਨੂੰ ਵਿਜ਼ੂਅਲਾਈਜ਼ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਰੱਖਣਾ ਜਰੂਰੀ ਹੈ। ਜਦੋਂ ਡੇਟਾ ਫਰੇਮ ਵੱਡਾ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਕਈ ਵਾਰੀ ਅਸੀਂ ਸਿਰਫ ਇਕ-ਦੋ ਪਹਿਲੀਆਂ ਕਤਾਰਾਂ ਪ੍ਰਿੰਟ ਕਰ ਕੇ ਯਕੀਨੀ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹਾਂ ਕਿ ਸਾਰਾ ਕੁਝ ਠੀਕ ਚੱਲ ਰਿਹਾ ਹੈ। ਇਹ `df.head()` ਕਾਲ ਕਰਕੇ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਇਹ ਜੂਪਿਟਰ ਨੋਟਬੁੱਕ ਤੋਂ ਚਲਾ ਰਹੇ ਹੋ, ਤਾਂ ਇਹ ਡੇਟਾ ਫਰੇਮ ਨੂੰ ਇੱਕ ਸੋਹਣੇ ਟੇਬੂਲਰ ਰੂਪ ਵਿੱਚ ਪ੍ਰਿੰਟ ਕਰੇਗਾ।
ਅਸੀਂ `plot` ਫੰਕਸ਼ਨ ਦੇ ਉਪਯੋਗ ਨੂੰ ਵੀ ਵੇਖਿਆ ਹੈ ਕੁਝ ਕਾਲਮਾਂ ਨੂੰ ਵਿਜੁਅਲਾਈਜ਼ ਕਰਨ ਲਈ। ਜਦੋਂ ਕਿ `plot` ਕਈ ਕੰਮ ਾਂ ਲਈ ਬਹੁਤ ਲਾਭਦਾਇਕ ਹੈ ਅਤੇ `kind=` ਪੈਰਾਮੀਟਰ ਰਾਹੀਂ ਕਈ ਵੱਖਰੇ ਗ੍ਰਾਫ ਕਿਸਮਾਂ ਨੂੰ ਸਹਿਯੋਗ ਦਿੰਦਾ ਹੈ, ਤੁਸੀਂ ਹਮੇਸ਼ਾਂ ਕੁਝ ਹੋਰ ਜਟਿਲ ਚੀਜ਼ ਪਲਾਟ ਕਰਨ ਲਈ ਕੱਚੀ `matplotlib` ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ। ਅਸੀਂ ਡੇਟਾ ਵਿਜੁਅਲਾਈਜੇਸ਼ਨ ਨੂੰ ਵੱਖਰੇ ਕੋਰਸ ਪਾਠਾਂ ਵਿੱਚ ਵਿਸਥਾਰ ਨਾਲ ਕਵਰ ਕਰਾਂਗੇ।
ਅਸੀਂ `plot` ਫੰਕਸ਼ਨ ਦੇ ਇਸਤੇਮਾਲ ਨੂੰ ਵੀ ਦੇਖਿਆ ਹੈ ਜੋ ਕੁਝ ਕਾਲਮਾਂ ਨੂੰ ਵਿਜ਼ੂਅਲਾਈਜ਼ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਜਦੋਂ `plot` ਅਨੇਕ ਕਾਰਜ ਾਂ ਲਈ ਬਹੁਤ ਲਾਭਦਾਇਕ ਹੈ ਅਤੇ `kind=` ਪੈਰਾਮੀਟਰ ਰਾਹੀਂ ਕਈ ਵੱਖ-ਵੱਖ ਗ੍ਰਾਫ ਕਿਸਮਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ, ਤਦ ਵੀ ਤੁਹਾਡੇ ਕੋਲ ਅਕਸਰ ਕੁਝ ਹੋਰ ਜਟਿਲ ਪਲੌਟ ਬਣਾਉਣ ਲਈ ਸਿੱਧਾ `matplotlib` ਲਾਇਬ੍ਰੇਰੀ ਵਰਤਣ ਦਾ ਵਿਕਲਪ ਹੁੰਦਾ ਹੈ। ਅਸੀਂ ਵਿਸਥਾਰ ਨਾਲ ਡਾਟਾ ਵਿਜ਼ੂਅਲਾਈਜੇਸ਼ਨ ਅਲੱਗ ਕੋਰਸ ਪਾਠਾਂ ਵਿੱਚ ਕਵਰ ਕਰਾਂਗੇ।
ਇਹ ਝਲਕ Pandas ਦੇ ਸਭ ਤੋਂ ਮੁੱਖ ਸੰਕਲਪਾਂ ਨੂੰ ਕਵਰ ਕਰਦੀ ਹੈ, ਪਰ ਲਾਇਬ੍ਰੇਰੀ ਬਹੁਤ ਹੀ ਧਨਵਾਨ ਹੈ, ਅਤੇ ਤੁਸੀਂ ਇਸ ਨਾਲ ਬੇਹਦ ਕੁਝ ਕਰ ਸਕਦੇ ਹੋ! ਆਓ ਹੁਣ ਇਸ ਗਿਆਨ ਨੂੰ ਕਿਸੇ ਖ਼ਾਸ ਸਮੱਸਿਆ ਦਾ ਹੱਲ ਕਰਨ ਲਈ ਲਗਾਈ ਏ।
ਇਹ ਓਵਰਵੀਉ Pandas ਦੇ ਸਭ ਤੋਂ ਜਰੂਰੀ ਅਸੂਲਾਂ ਨੂੰ ਨੂੰ ਸਮੇਟਦਾ ਹੈ, ਫਿਰ ਵੀ ਲਾਇਬ੍ਰੇਰੀ ਬਹੁਤ ਵੱਧ ਸਮਰੱਥ ਹੈ, ਅਤੇ ਤੁਸੀਂ ਇਸ ਨਾਲ ਕਿਤਨਾ ਕੁ ਕਰ ਸਕਦੇ ਹੋ ਇਸ ਦੀ ਕੋਈ ਹੱਦ ਨਹੀਂ ਹੈ! ਆਓ ਹੁਣ ਇਸ ਗਿਆਨ ਨੂੰ ਕਿਸੇ ਵਿਸ਼ੇਸ਼ ਸਮੱਸਿਆ ਦੇ ਹੱਲ ਲਈ ਲਾਗੂ ਕਰੀ ਏ।
## 🚀 ਚੈਲੇਂਜ 1: COVID ਫੈਲਾਅ ਦਾ ਵਿਸ਼ ਲੇਸ਼ਣ
## 🚀 ਚੈਲੇਂਜ 1: COVID ਫੈਲਾਅ ਦਾ ਵਿਸ਼ ਲੇਸ਼ਣ
ਪਹਿਲੀ ਸਮੱਸਿਆ ਜਿਸ 'ਤੇ ਅਸੀਂ ਧਿਆਨ ਦੇਵਾਂਗੇ ਉਹ COVID-19 ਦੇ ਮਹਾਮਾਰੀ ਵਿਸਤਾਰ ਦਾ ਮਾਡਲਿੰਗ ਹੈ। ਇਸ ਨੂੰ ਕਰਨ ਲਈ, ਅਸੀਂ ਵੱਖ-ਵੱਖ ਦੇਸ਼ਾਂ ਵਿੱਚ ਸੰਕ੍ਰਮਿਤ ਵਿਅਕਤੀਆਂ ਦੀ ਗਿਣਤੀ ਦਾ ਡੇ ਟਾ ਵਰਤਾਂਗੇ, ਜੋ [Center for Systems Science and Engineering ](https://systems.jhu.edu/ ) (CSSE) ਵਲੋਂ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ, ਜੋ ਕਿ [Johns Hopkins University ](https://jhu.edu/ ) ਵਿੱਚ ਹੈ। ਡੇਟਾਸੇਟ [ਇਸ GitHub Repository ](https://github.com/CSSEGISandData/COVID-19 ) ਵਿੱਚ ਉਪਲਬਧ ਹੈ।
ਪਹਿਲੀ ਸਮੱਸਿਆ ਜਿਸ 'ਤੇ ਅਸੀਂ ਧਿਆਨ ਦੇਵਾਂਗੇ ਉਹ 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 ) ਖੋਲ੍ਹੋ ਅਤੇ ਇਸਨੂੰ ਥੱਲੇ ਤੱਕ ਪੜ੍ਹੋ। ਤੁਸੀਂ ਸੈੱਲਾਂ ਨੂੰ ਚਲਾ ਵੀ ਸਕਦੇ ਹੋ, ਅਤੇ ਅਸੀਂ ਤੁਹਾਡੇ ਲਈ ਆਖ਼ਰ ਵਿੱਚ ਕੁਝ ਚੈਲੇਂਜ ਵੀ ਛੱਡੇ ਹਨ ਜਿਨ੍ਹਾਂ ਨੂੰ ਤੁਸੀਂ ਕਰ ਸਕਦੇ ਹੋ ।
ਕਿਉਂਕਿ ਅਸੀਂ ਡਾਟਾ ਨਾਲ ਕਿਵੇਂ ਨਿਬਟਣਾ ਹੈ ਇਹ ਦਿਖਾਉਣਾ ਚਾਹੁੰਦੇ ਹਾਂ, ਇਸ ਲਈ ਅਸੀਂ ਤੁਹਾਨੂੰ ਬੁਲਾਉਂ ਦੇ ਹਾਂ ਕਿ ਤੁਸੀਂ [`notebook-covidspread.ipynb` ](notebook-covidspread.ipynb ) ਖੋਲ੍ਹੋ ਅਤੇ ਇਸਨੂੰ ਸਿਰ ਤੋਂ ਅੰਤ ਤੱਕ ਪੜ੍ਹੋ। ਤੁਸੀਂ ਕੋਸ਼ਿਕਾਂ ਚਲਾ ਵੀ ਸਕਦੇ ਹੋ, ਅਤੇ ਕੁਝ ਚੈਲੇਂਜ ਵੀ ਜੋ ਅਸੀਂ ਤੁਹਾਡੇ ਲਈ ਆਖਰ ਵਿੱਚ ਛੱਡੇ ਹਨ ।

> ਜੇ ਤੁਹਾਨੂੰ ਪਤਾ ਨਹੀਂ ਕਿ Jupyter Notebook ਵਿੱਚ ਕੋਡ ਕਿਵੇਂ ਚਲਾਉਣਾ ਹੈ, ਤਾਂ [ਇਸ ਲੇਖ ](https://soshnikov.com/education/how-to-execute-notebooks-from-github/ ) ਨੂੰ ਦ ੇਖੋ।
> ਜੇ ਤੁਸੀਂ ਜੂਪਿਟਰ ਨੋਟਬੁੱਕ ਵਿੱਚ ਕੋਡ ਕਿਵੇਂ ਚਲਾਉਣਾ ਹੈ ਇਹ ਨਹੀਂ ਜਾਣਦੇ , ਤਾਂ [ਇਸ ਲੇਖ ](https://soshnikov.com/education/how-to-execute-notebooks-from-github/ ) ਨੂੰ ਵ ੇਖੋ।
## ਅਣਸੰਰਚ ਿਤ ਡੇਟਾ ਨਾਲ ਕੰਮ ਕਰਨਾ
## ਬਿਨਾਂ ਸੰਗਠ ਿਤ ਡੇਟਾ ਨਾਲ ਕੰਮ ਕਰਨਾ
ਜਦੋਂ ਕਿ ਡੇਟਾ ਅਕਸਰ ਸਾਰਣੀਕਾਰ ਰੂਪ ਵਿੱਚ ਹੁੰਦਾ ਹੈ, ਪਰ ਕੁਝ ਹਾਲਤਾਂ ਵਿੱਚ ਸਾਨੂੰ ਘੱਟ ਸੰਰਚਿਤ ਡੇਟਾ ਨਾਲ ਨਿਭਣਾ ਪੈਂਦਾ ਹੈ, ਉਦਾਹਰਨ ਵਜੋਂ ਟੈਕਸਟ ਜਾਂ ਛਬੀਆਂ। ਇਸ ਮਾਮਲੇ ਵਿੱਚ, ਉੱਪਰ ਦਿੱਤੀਆਂ ਡੇ ਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਤਕਨੀਕਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਸਾਨੂੰ ਕੁਝ ਤਰੀਕੇ ਨਾਲ ਸੰਰਚਿਤ ਡੇਟਾ ** ਨਿਕਾਲਣਾ** ਪੈਂਦਾ ਹੈ। ਇੱਥੇ ਕੁਝ ਉਦਾਹਰਨਾਂ ਹਨ:
ਹਾਲਾਂਕਿ ਡਾਟਾ ਅਕਸਰ ਟੇਬੂਲਰ ਰੂਪ ਵਿੱਚ ਆਉਂਦਾ ਹੈ, ਕੁਝ ਮਾਮਲਿਆਂ ਵਿੱਚ ਸਾਨੂੰ ਘੱਟ ਸੰਗਠਿਤ ਡਾਟਾ, ਜਿਵੇਂ ਕਿ ਟੈਕਸਟ ਜਾਂ ਫੋਟੋਆਂ ਨਾਲ ਨਿਬਟਣਾ ਪੈਂਦਾ ਹੈ। ਇਸ ਮਾਮਲੇ ਵਿੱਚ, ਉਪਰ ਦਿੱਤੀਆਂ ਡਾ ਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਤਕਨੀਕਾਂ ਲਾਗੂ ਕਰਨ ਲਈ ਸਾਨੂੰ ਕਿਸੇ ਨਾ ਕਿਸੇ ਤਰੀਕੇ ਨਾਲ ਸੰਗਠਿਤ ਡੇਟਾ ** ਨਿਕਾਲਣਾ** ਪੈਂਦਾ ਹੈ। ਹੇਠਾਂ ਕੁਝ ਉਦਾਹਰਨਾਂ ਹਨ:
* ਟੈਕਸਟ ਵਿੱਚੋਂ ਮੁੱਖ ਸ਼ਬਦ (keywords) ਨਿਕਾਲਣਾ, ਅਤੇ ਦੇਖਣਾ ਕਿ ਉਹ ਕਿੰਨੀ ਵਾਰ ਉੱਚਰ ੇ ਹਨ
* ਨਿਊਰਲ ਨੈੱਟਵਰਕ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਤਸਵੀਰ ਵਿੱਚ ਵਸਤੂਆਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰਨਾ
* ਵੀਡਿਓ ਕੈਮਰੇ ਫੀਡ ਵਿੱਚ ਲੋਕਾਂ ਦੇ ਜਜ਼ਬਾਤ ਬਾਰੇ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰਨਾ
* ਟੈਕਸਟ ਵਿੱਚੋਂ ਕੀਵਰਡ ਨਿਕਾਲ ਕੇ ਵੇਖਣਾ ਕਿ ਉਹ ਕੀਵਰਡ ਕਿੰਨੀ ਵਾਰੀ ਆ ਰਹ ੇ ਹਨ
* ਤਸਵੀਰ 'ਤੇ ਵਸਤੂਆਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਲੈਣ ਲਈ ਨਿਊਰਲ ਨੈੱਟਵਰਕ ਦੀ ਵਰਤੋਂ ਕਰਨਾ
* ਵੀਡੀਓ ਕੈਮਰਾ ਫੀਡ ਵਿੱਚ ਲੋਕਾਂ ਦੇ ਜਜ਼ਬਾਤ ਬਾਰੇ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰਨਾ
## 🚀 ਚੈਲੇਂਜ 2: COVID ਪੇਪਰਾਂ ਦਾ ਵਿਸ਼ ਲੇਸ਼ਣ
## 🚀 ਚੈਲੇਂਜ 2: COVID ਪੇਪਰਾਂ ਦਾ ਵਿਸ਼ ਲੇਸ਼ਣ
ਇਸ ਚੈਲੇਂਜ ਵਿੱਚ, ਅਸੀਂ COVID ਮਹਾਮਾਰੀ ਦੇ ਵਿਸ਼ੇ 'ਤੇ ਬਣੇ ਵਿਗਿਆਨ ਕ ਪੇਪਰਾਂ ਨੂੰ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਤੇ ਧਿਆਨ ਦੇਵਾਂਗੇ। [CORD-19 Dataset ](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge ) ਵਿੱਚ COVID ਬਾਰੇ ਲਿਖੇ 7000 ਤੋਂ ਵੱਧ (ਲਿਖਦੇ ਸਮੇਂ) ਪੇਪਰ ਹਨ, ਜੋ ਮੈਟਾਡੇਟਾ ਅਤੇ ਆਬਸਟਰੈਕਟਸ ਨਾਲ ਉਪਲਬਧ ਹਨ (ਤੇ ਲਗਪਗ ਅੱਧੇ ਲਈ ਪੂਰਾ ਲੇਖ ਵੀ ਉਪਲਬਧ ਹੈ)।
ਇਸ ਚੈਲੇਂਜ ਵਿੱਚ, ਅਸੀਂ 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/ ) ਵਿੱਚ ਦਿੱਤਾ ਗਿਆ ਹੈ। ਅਸੀਂ ਇਸ ਵਿਸ਼ਲੇਸ਼ਣ ਦਾ ਸਧਾਰਨ ਸੰਸਕਰਣ ਚਰਚਾ ਕਰਾਂਗੇ।
ਇਸ ਡੇਟਾਸੈੱਟ ਦਾ ਪ੍ਰਯੋਗ ਕਰਦੇ ਹੋਏ [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** : ਅਸੀਂ ਇਸ ਰਿਪੋਜ਼ਿਟਰੀ ਵਿੱਚ ਡੇਟਾਸੇਟ ਦੀ ਕਾਪੀ ਪ੍ਰਦਾਨ ਨਹੀਂ ਕਰਦੇ। ਪਹਿਲਾਂ ਤੁਹਾਨੂੰ [`metadata.csv` ](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge?select=metadata.csv ) ਫਾਈਲ [Kaggle ](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge ) ਤੋਂ ਡਾਊਨਲੋਡ ਕਰਨੀ ਪੈ ਸਕਦੀ ਹੈ। Kaggle 'ਤੇ ਰਜਿਸਟਰੇਸ਼ਨ ਜ਼ਰੂਰੀ ਹੋ ਸਕਦੀ ਹੈ। ਤੁਸੀਂ ਬਿਨਾਂ ਰਜਿਸਟਰ ਹੋਏ ਵੀ [ਇੱਥੋਂ ](https://ai2-semanticscholar-cord-19.s3-us-west-2.amazonaws.com/historical_releases.html ) ਡਾਟਾ ਲੈ ਸਕਦੇ ਹੋ, ਪਰ ਇਸ ਵਿੱਚ ਮੈਟਾਡੇਟਾ ਫਾਈਲ ਦੇ ਨਾਲ ਪੂਰੇ ਲੇਖਾਂ ਦਾ ਵੀ ਸ਼ਾਮਲ ਹੋਏ ਗਾ।
> **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 ) ਖੋਲ੍ਹੋ ਅਤੇ ਇਸਨੂੰ ਥੱਲੇ ਤੱਕ ਪੜ੍ਹੋ। ਤੁਸੀਂ ਸੈੱਲਾਂ ਚਲਾ ਸਕਦੇ ਹੋ, ਅਤੇ ਅਸੀਂ ਤੁਹਾਡੇ ਲਈ ਆਖ਼ਰ ਵਿੱਚ ਕੁਝ ਚੈਲੇਂਜ ਛੱਡੇ ਹਨ।
[`notebook-papers.ipynb` ](notebook-papers.ipynb ) ਖੋਲ੍ਹੋ ਅਤੇ ਸਿਰ ਤੋਂ ਅੰਤ ਤੱਕ ਪੜ੍ਹੋ। ਤੁਸੀਂ ਕੋਸ਼ਿਕਾਂ ਚਲਾ ਸਕਦੇ ਹੋ ਅਤੇ ਉਹ ਚੈਲੇਂਜ ਵੀ ਜੋ ਅਸੀਂ ਤੁਹਾਡੇ ਲਈ ਆਖਰ ਵਿੱਚ ਛੱਡੇ ਹਨ।

## ਤਸਵੀਰ ਡੇਟਾ ਦੀ ਪ੍ਰਕਿਰਿਆ
## ਇਮੀਜ ਡੇਟਾ ਪ੍ਰੋਸੈਸਿੰਗ
ਹਾਲ ਹੀ ਵਿੱਚ, ਬਹੁਤ ਤਾਕਤਵਰ AI ਮਾਡਲ ਬਣਾਏ ਗਏ ਹਨ ਜੋ ਸਾਨੂੰ ਤਸਵੀਰਾਂ ਨੂੰ ਸਮਝਣ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹਨ। ਬਹੁਤ ਸਾਰੀਆਂ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਪ੍ਰੀ-ਟਰੇਨਡ ਨਿਊਰਲ ਨੈੱਟਵਰਕ ਜਾਂ ਕਲਾਉਡ ਸਰਵਿਸਿਜ਼ ਦੀ ਵਰਤੋ ਕਰਕੇ ਹਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਕੁਝ ਉਦਾਹਰਨਾਂ :
ਹਾਲ ਹੀ ਵਿੱਚ, ਬਹੁਤ ਸ਼ਕਤੀਸ਼ਾਲੀ AI ਮਾਡਲ ਵਿਕਸਿਤ ਕੀਤੇ ਗਏ ਹਨ ਜੋ ਸਾਡੇ ਲਈ ਤਸਵੀਰਾਂ ਨੂੰ ਸਮਝਣਾ ਸੌਖਾ ਕਰ ਦਿੰਦੇ ਹਨ। ਕਈ ਕੰਮ ਪੂਰਵ-ਤਿਆਰ ਨਿਊਰਲ ਨੈੱਟਵਰਕ ਜਾਂ ਕਲਾਉਡ ਸਰਵਿਸਜ਼ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਹੱਲ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ। ਕੁਝ ਉਦਾਹਰਨਾਂ ਹਨ :
* ** ਤਸਵੀਰ ਵਰਗੀਕਰਨ (Image Classification)**, ਜੋ ਤੁਹਾਡੀ ਤਸਵੀਰ ਨੂੰ ਪਹਿਲਾਂ ਤੋਂ ਨਿਰਧਾਰਤ ਵਰਗੀ ਵਿੱਚ ਵੰਡਣ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦਾ ਹੈ। ਤੁਸੀਂ ਆਪਣੇ ਖ਼ੁਦ ਦੇ ਇਮੇਜ ਕਲਾਸਿਫਾਇਰਸ ਨੂੰ ਆਸਾਨੀ ਨਾਲ [Custom Vision ](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77958-bethanycheum ) ਵਰਗੀਆਂ ਸਰਵਿਸਿ ਜ਼ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਟਰੇਨ ਕਰ ਸਕਦੇ ਹੋ।
* ** ਆਬਜੈਕਟ ਡਿਟੈਕਸ਼ਨ**, ਜਿਹੜਾ ਤਸਵੀਰ ਵਿੱਚ ਵੱਖ-ਵੱਖ ਵਸਤੂਆਂ ਦੀ ਪਹਚਾਣ ਕਰਨ ਲਈ। [computer vision ](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 ) ਰਾਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
* ** ਈਮੀਜ ਵਰਗੀਕਰਨ (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 ) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਬੁਲਾਏ ਜਾ ਸਕਦੇ ਹਨ, ਜਿਸ ਨਾਲ ਇਹ ਤੁਹਾਡੇ ਡੇਟਾ ਖੋਜ ਕਾਰਜ ਪ੍ਰਵਾਹ ਵਿੱਚ ਆਸਾਨੀ ਨਾਲ ਸ਼ਾਮਲ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ।
ਇਹ ਸਾਰੇ ਕਲਾਉਡ ਸਰਵਿਸਜ਼ [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 ਫੋਟੋਆਂ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਦੇ ਹਾਂ, ਦੇਖਣ ਲਈ ਕਿ ਕੀ ਚੀਜ਼ ਲੋਕਾਂ ਨੂੰ ਇੱਕ ਫੋਟੋ ਤੇ ਵੱਧ ਲਾਈਕ ਦੇਣ ਲਈ ਪ੍ਰੇਰਿਤ ਕਰਦੀ ਹੈ। ਅਸੀਂ ਪਹਿਲਾਂ [computer vision ](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 ) ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਤਾਂ ਜੋ ਸਮਝਿਆ ਜਾ ਸਕੇ ਕਿ ਲੋਕਾਂ ਨੂੰ ਖੁਸ਼ੀ ਕੀ ਚੀਜ਼ ਕਰਦੀ ਹੈ।
ਇੱਥੇ ਕੁਝ ਉਦਾਹਰਨਾਂ ਹਨ ਜਿਹੜੇ ਇਮੀਜ ਡਾਟਾ ਸਰੋਤਾਂ ਤੋਂ ਡਾਟਾ ਖੋਜਣ ਦੀਆਂ ਹਨ :
* ਬਲੌਗ ਪੋਸਟ [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 ) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਵੈਂਟਾਂ ਤੋਂ ਫੋਟੋਆਂ ਵਿੱਚ ਲੋਕਾਂ ਦੇ ਜਜ਼ਬਾਤ ਨਿਕਾਲਦੇ ਹਾਂ ਤਾਂ ਜੋ ਜਾਣ ਸਕੀਏ ਕਿ ਲੋਕਾਂ ਨੂੰ ਖੁਸ਼ ਕਿਵੇਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
## ਨਤੀਜਾ
ਚਾਹੇ ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਸੰਰਚਿਤ ਜਾਂ ਅਣਸੰਰਚਿਤ ਡੇਟਾ ਹੋਵੇ, Python ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਤੁਸੀਂ ਡੇਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਅਤੇ ਸਮਝਣ ਨਾਲ ਸਬੰਧਤ ਸਾਰੇ ਕਦਮ ਕਰ ਸਕਦੇ ਹੋ। ਇਹ ਸੰਭਵ ਤੌਰ 'ਤੇ ਡੇ ਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਦਾ ਸਭ ਤੋਂ ਲਚਕੀਲਾ ਤਰੀਕਾ ਹੈ, ਅਤੇ ਇਸੀ ਲਈ ਜ਼ਿਆਦਾਤਰ ਡੇਟਾ ਸਾਇੰਟਿਸਟ Python ਨੂੰ ਆਪਣਾ ਮੁੱਖ ਸੰਦ ਮੰਨਦੇ ਹਨ। ਜੇ ਤੁਸੀਂ ਆਪਣੇ ਡੇਟਾ ਸਾਇੰਸ ਯਾਤਰਾ ਨੂੰ ਗੰਭੀਰਤਾ ਨਾਲ ਲੈਂਦੇ ਹੋ, ਤਾਂ Python ਦੀ ਮੂਲ ਦੂਰੀ ਤੱਕ ਸਿੱਖਣਾ ਸੁਰਤਮੰਦ ਹੈ!
ਤੁਹਾਡੇ ਕੋਲ ਚਾਹੇ ਸੰਗਠਿਤ (structured) ਜਾਂ ਬਿਨਾਂ ਸੰਗਠਿਤ (unstructured) ਡਾਟਾ ਹੀ ਕਿਉਂ ਨਾ ਹੋਵੇ, ਪਾਇਥਨ ਦੀ ਵਰਤੋਂ ਨਾਲ ਤੁਸੀਂ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਅਤੇ ਸਮਝਣ ਨਾਲ ਜੁੜੇ ਸਾਰੇ ਪਐਮਲੇ ਕਰ ਸਕਦੇ ਹੋ। ਇਹ ਸੰਭਵ ਤੌਰ 'ਤੇ ਡਾ ਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਦਾ ਸਭ ਤੋਂ ਲਚਕੀਲਾ ਤਰੀਕਾ ਹੈ ਅਤੇ ਇਸੀ ਕਾਰਨ ਬਹੁਤ ਸਾਰੇ ਡਾਟਾ ਸਾਇੰਟਿਸਟ ਪਾਇਥਨ ਨੂੰ ਆਪਣਾ ਮੁੱਖ ਸੰਦ ਮੰਨਦੇ ਹਨ। ਜੇ ਤੁਸੀਂ ਆਪਣੇ ਡਾਟਾ ਸਾਇੰਸ ਯਾਤਰਾ ਨੂੰ ਗੰਭੀਰਤਾ ਨਾਲ ਲੈ ਰਹੇ ਹੋ ਤਾਂ ਪਾਇਥਨ ਨੂੰ ਡੂੰਘਾਈ ਨਾਲ ਸਿੱਖਣਾ ਇੱਕ ਚੰਗਾ ਵਿਚਾਰ ਹੈ!
## [ਪੋਸਟ-ਲੈਕਚਰ ਕ ੁਇ ਜ਼](https://ff-quizzes.netlify.app/en/ds/quiz/13 )
## [ਪੋਸਟ-ਲੈਕਚਰ ਕ ਵਿ ਜ਼](https://ff-quizzes.netlify.app/en/ds/quiz/13 )
## ਸਮੀਖਿਆ ਅਤੇ ਖੁਦ ਅਧਿਐਨ
**ਕਿਤਾਬਾਂ**
* [Wes McKinney . Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython](https://www.amazon.com/gp/product/1491957662 )
* [ਵੇਸ ਮੈਕਕਿੰਨੀ . 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 ਵਿਜੁਅਲਾਈਜੇਸ਼ਨ ਬਾਰੇ ਡਾਕੂਮੈਂਟੇਸ਼ਨ ](https://pandas.pydata.org/pandas-docs/stable/user_guide/visualization.html )
* ਅਧਿਕਾਰਿਕ [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 )
**Python ਸਿੱਖਣਾ**
* [ਟ ਰਟਲ ਗ੍ਰਾਫਿਕਸ ਅਤੇ ਫਰੈਕਟਲਸ ਨਾਲ ਮਜ਼ੇਦਾਰ ਢੰਗ ਨਾਲ Python ਸਿੱਖੋ](https://github.com/shwars/pycourse )
* [Python ਨਾਲ ਆਪਣੇ ਪਹਿਲੇ ਕਦਮ ਚੁੱਕੋ](https://docs.microsoft.com/learn/paths/python-first-steps/?WT.mc_id=academic-77958-bethanycheum ) Microsoft Learn 'ਤੇ ਸਿੱਖਣ ਦਾ ਰਸਤਾ ([Microsoft Learn](http://learn.microsoft.com/?WT.mc_id=academic-77958-bethanycheum))
**ਪਾਇਥਨ ਸਿੱਖਣਾ**
* [ਟ ರਟਲ ਗ੍ਰਾਫਿਕਸ ਅਤੇ ਫ੍ਰੈਕਟਲ ਨਾਲ ਮਨੋਰੰਜਕ ਢੰਗ ਨਾਲ ਪਾਇਥਨ ਸਿੱਖੋ](https://github.com/shwars/pycourse )
* [ਪਾਇਥਨ ਨਾਲ ਆਪਣੀਆਂ ਪਹਿਲੀਆਂ ਕਦਮ ਚੁੱਕੋ](https://docs.microsoft.com/learn/paths/python-first-steps/?WT.mc_id=academic-77958-bethanycheum ) ਮਾਇਕ੍ਰੋਸੌਫਟ ਲਰਨ 'ਤੇ ਲਰਨਿੰਗ ਪਾਥ
## ਅਸਾਈਨਮੈਂਟ
[ਉਪਰ ਦਿੱਤੇ ਚੈਲੇਂਜਾਂ ਲਈ ਹੋਰ ਵਿਸਥਾਰ ਤ ਡੇ ਟਾ ਅਧਿਐਨ ਕਰੋ](assignment.md )
[ਉਪਰ ਦਿੱਤੇ ਚੈਲੇਂਜਾਂ ਲਈ ਹੋਰ ਵਿਸਥਾਰ ਵਾਲਾ ਡਾ ਟਾ ਅਧਿਐਨ ਕਰੋ](assignment.md )
## ਕ੍ਰੈਡਿਟ ਸ
## ਸਹਿਯੋਗ
ਇਸ ਪਾਠ ਨੂੰ ♥️ ਨਾਲ ਲਿਖਿਆ ਗਿਆ ਹੈ [Dmitry Soshnikov ](http://soshnikov.com ) ਵਲੋਂ
ਇਹ ਪਾਠ ♥️ ਨਾਲ [ਦਿਮਿਤਰੀ ਸੋਸ਼ਨਿਕੋਵ ](http://soshnikov.com ) ਵੱਲੋਂ ਲਿਖਿਆ ਗਿਆ ਹੈ।
---