|
|
4 weeks ago | |
|---|---|---|
| .. | ||
| R | 12 months ago | |
| README.md | 4 weeks ago | |
| assignment.md | 7 months ago | |
| notebook-covidspread.ipynb | 4 weeks ago | |
| notebook-papers.ipynb | 12 months ago | |
| notebook.ipynb | 12 months ago | |
README.md
ਡਾਟਾ ਨਾਲ ਕੰਮ ਕਰਨਾ: ਪਾਇਥਨ ਅਤੇ ਪਾਂਡਾਸ ਲਾਇਬ੍ਰੇਰੀ
![]() |
|---|
| ਪਾਇਥਨ ਨਾਲ ਕੰਮ ਕਰਨਾ - ਸਕੈਚਨੋਟ ਦੁਆਰਾ @nitya |
ਜਦੋਂ ਕਿ ਡੇਟਾਬੇਸ ਡਾਟਾ ਸਟੋਰ ਕਰਨ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਕੁਇਰੀ ਭਾਸ਼ਾਵਾਂ ਦੀ ਵਰਤੋਂ ਨਾਲ ਕੁਇਰੀ ਕਰਨ ਦੇ ਬਹੁਤ ਪ੍ਰਭਾਵੀ ਤਰੀਕੇ ਪੇਸ਼ ਕਰਦੇ ਹਨ, ਡਾਟਾ ਪ੍ਰਕਿਰਿਆ ਲਈ ਸਭ ਤੋਂ ਲਚਕੀਲਾ ਤਰੀਕਾ ਆਪਣੇ ਕੰਮ ਲਈ ਆਪਣਾ ਪ੍ਰੋਗਰਾਮ ਲਿਖਣਾ ਹੈ। ਕਈ ਵਾਰ, ਡੇਟਾਬੇਸ ਕੁਇਰੀ ਕਰਨਾ ਜ਼ਿਆਦਾ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਤਰੀਕਾ ਹੋਵੇਗਾ। ਹਾਲਾਂਕਿ ਕੁਝ ਮਾਮਲਿਆਂ ਵਿੱਚ ਜਦੋਂ ਜ਼ਿਆਦਾ ਜਟਿਲ ਡਾਟਾ ਪ੍ਰਕਿਰਿਆ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਇਹ ਆਸਾਨੀ ਨਾਲ SQL ਦੀ ਵਰਤੋਂ ਨਾਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ। ਡਾਟਾ ਪ੍ਰਕਿਰਿਆ ਕਿਸੇ ਵੀ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਭਾਸ਼ਾ ਵਿੱਚ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ, ਪਰ ਕੁਝ ਭਾਸ਼ਾਵਾਂ ਹਨ ਜੋ ਡਾਟਾ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ ਉੱਚ ਪੱਧਰ ਦੀਆਂ ਮੰਨੀ ਜਾਂਦੀਆਂ ਹਨ। ਡਾਟਾ ਵਿਗਿਆਨੀਆਂ ਆਮ ਤੌਰ 'ਤੇ ਹੇਠ ਲਿਖੀਆਂ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚੋਂ ਇੱਕ ਪਸੰਦ ਕਰਦੇ ਹਨ:
- Python, ਇੱਕ ਸਰਵ-ਉਦੇਸ਼ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਭਾਸ਼ਾ, ਜੋ ਆਪਣੀ ਸਾਦਗੀ ਕਾਰਨ ਸ਼ੁਰੂਆਤੀ ਲਈ ਇਕ ਬਿਹਤਰ ਵਿਕਲਪ ਮੰਨੀ ਜਾਂਦੀ ਹੈ। ਪਾਇਥਨ ਕੋਲ ਕਈ ਹੋਰ ਲਾਇਬ੍ਰੇਰੀਆਂ ਹੁੰਦੀਆਂ ਹਨ ਜੋ ਤੁਹਾਡੀ ਬਹੁਤ ਸਾਰੀਆਂ ਪ੍ਰਯੋਗਿਕ ਸਮੱਸਿਆਵਾਂ ਦਾ ਹੱਲ ਕਰਨ ਵਿੱਚ ਮਦਦਗਾਰ ਸਾਬਤ ਹੁੰਦੀਆਂ ਹਨ, ਜਿਵੇਂ ਕਿ ZIP ਆਰਕਾਈਵ ਤੋਂ ਡਾਟਾ ਨਿਕਲਣਾ, ਜਾਂ ਤਸਵੀਰ ਨੂੰ ਗ੍ਰੇਸਕੇਲ ਵਿੱਚ ਬਦਲਣਾ। ਡਾਟਾ ਸਾਇੰਸ ਦੇ ਇਲਾਵਾ, ਪਾਇਥਨ ਨੂੰ ਵੈੱਬ ਵਿਕਾਸ ਲਈ ਵੀ ਆਮ ਤੌਰ 'ਤੇ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
- R ਇੱਕ ਰਵਾਇਤੀ ਟੂਲਬਾਕਸ ਹੈ ਜੋ ਸਾਂਖਿਆਕੀ ਡਾਟਾ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖ ਕੇ ਵਿਕਸਿਤ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਸ ਵਿੱਚ ਬਹੁਤ ਸਾਰੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ (CRAN) ਦੀ ਵੱਡੀ ਡਿਪੋਜਿਟਰੀ ਵੀ ਹੁੰਦੀ ਹੈ, ਜਿਸਨੂੰ ਡਾਟਾ ਪ੍ਰਕਿਰਿਆ ਲਈ ਇਕ ਚੰਗਾ ਵਿਕਲਪ ਬਣਾਉਂਦਾ ਹੈ। ਹਾਲਾਂਕਿ, R ਕੋਈ ਸਰਵ-ਉਦੇਸ਼ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਭਾਸ਼ਾ ਨਹੀਂ ਹੈ, ਅਤੇ ਡਾਟਾ ਸਾਇੰਸ ਡੋਮੇਨ ਦੇ ਬਾਹਰ ਬਹੁਤ ਹੀ ਘੱਟ ਵਰਤੋਂ ਵਿੱਚ ਆਉਂਦਾ ਹੈ।
- Julia ਇੱਕ ਹੋਰ ਭਾਸ਼ਾ ਹੈ ਜੋ ਖਾਸ ਕਰਕੇ ਡਾਟਾ ਸਾਇੰਸ ਲਈ ਬਣਾਈ ਗਈ ਹੈ। ਇਹ ਪਾਇਥਨ ਨਾਲੋਂ ਬਿਹਤਰ ਪ੍ਰਦਰਸ਼ਨ ਦੇਣ ਲਈ ਬਣਾਈ ਗਈ ਹੈ, ਜਿਸ ਕਰਕੇ ਇਹ ਵਿਗਿਆਨਕ ਪ੍ਰਯੋਗਾਂ ਲਈ ਸ਼ਾਨਦਾਰ ਸਾਧਨ ਹੈ।
ਇਸ ਪਾਠ ਵਿੱਚ, ਅਸੀਂ ਸਾਦਾ ਡਾਟਾ ਪ੍ਰਕਿਰਿਆ ਲਈ ਪਾਇਥਨ ਦੀ ਵਰਤੋਂ 'ਤੇ ਧਿਆਨ ਕੇਂਦ੍ਰਿਤ ਕਰਾਂਗੇ। ਅਸੀਂ ਭਾਸ਼ਾ ਨਾਲ ਮੁੱਢਲੀ ਜਾਣਕਾਰੀ ਮੰਨ ਕੇ ਚਲਾਂਗੇ। ਜੇ ਤੁਸੀਂ ਪਾਇਥਨ ਬਾਰੇ ਹੋਰ ਗਹਿਰਾਈ ਤੋਂ ਜਾਣਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਹੇਠ ਲਿਖੇ ਸਾਂਧਨਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਨੂੰ ਵੇਖ ਸਕਦੇ ਹੋ:
- ਟਰਟਲ ਗ੍ਰਾਫਿਕਸ ਅਤੇ ਫ੍ਰੈਕਟਲਸ ਨਾਲ ਮਜ਼ੇਦਾਰ ਢੰਗ ਨਾਲ ਪਾਇਥਨ ਸਿੱਖੋ - ਗਿਟਹਬ-ਅਧਾਰਿਤ ਪਾਇਥਨ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਦਾ ਤੇਜ਼ ਪਰਿਚਯ ਕੋਰਸ
- ਪਾਇਥਨ ਨਾਲ ਆਪਣੇ ਪਹਿਲੇ ਕਦਮ ਚੁੱਕੋ Microsoft Learn 'ਤੇ ਸਿੱਖਣ ਦਾ ਮਾਰਗ
ਡਾਟਾ ਕਈ ਰੂਪਾਂ ਵਿੱਚ ਆ ਸਕਦਾ ਹੈ। ਇਸ ਪਾਠ ਵਿੱਚ, ਅਸੀਂ ਡਾਟਾ ਦੇ ਤਿੰਨ ਰੂਪਾਂ ਬਾਰੇ ਸੋਚਾਂਗੇ - ਟੈਬੂਲਰ ਡਾਟਾ, ਟੈਕਸਟ ਅਤੇ ਚਿੱਤਰ।
ਅਸੀਂ ਸਾਰੇ ਸੰਬੰਧਿਤ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੀ ਪੂਰੀ ਜਾਣਕਾਰੀ ਦੇਣ ਦੀ بجਾਏ ਕੁਝ ਉਦਾਹਰਨਾਂ 'ਤੇ ਧਿਆਨ ਦੇਵਾਂਗੇ। ਇਹ ਤੁਹਾਨੂੰ ਇਹ ਸਮਝਣ ਵਿੱਚ ਮਦਦ ਕਰੇਗਾ ਕਿ ਕੀ ਸੰਭਵ ਹੈ, ਅਤੇ ਜਦੋਂ ਤੁਹਾਨੂੰ ਆਪਣੀਆਂ ਸਮੱਸਿਆਵਾਂ ਲਈ ਹੱਲ ਲੱਭਣੇ ਹੋਣ ਤਾਂ ਕਿਥੇ ਖੋਜ ਕਰਨੀ ਹੈ।
ਸਭ ਤੋਂ ਲੋੜੀਂਦਾ ਸਲਾਹ। ਜਦੋਂ ਤੁਹਾਨੂੰ ਕਿਸੇ ਵਿਸ਼ੇਸ਼ ਕਾਰਵਾਈ ਦੀ ਲੋੜ ਹੋਵੇ ਪਰ ਤੁਸੀਂ ਨਹੀ ਜਾਣਦੇ ਕਿ ਉਹ ਕਿਵੇਂ ਕਰਨੀ ਹੈ, ਤਾਂ ਇੰਟਰਨੈੱਟ 'ਤੇ ਖੋਜ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ। Stackoverflow ਅਕਸਰ ਬਹੁਤ ਸਾਰੇ ਵਧੀਆ ਕੋਡ ਉਦਾਹਰਣਾਂ ਨਾਲ ਭਰਪੂਰ ਹੁੰਦਾ ਹੈ, ਖ਼ਾਸ ਕਰਕੇ ਪਾਇਥਨ ਲਈ।
ਪੂਰਵ-ਲੈਕਚਰ ਕਵਿਜ
ਟੈਬੂਲਰ ਡਾਟਾ ਅਤੇ ਡਾਟਾਫਰੇਮ
ਤੁਸੀਂ ਪਹਿਲਾਂ ਹੀ ਰਿਲੇਸ਼ਨਲ ਡੇਟਾਬੇਸ ਬਾਰੇ ਗੱਲ ਕਰਦੇ ਸਮੇਂ ਟੈਬੂਲਰ ਡਾਟਾ ਨਾਲ ਮਿਲ ਚੁੱਕੇ ਹੋ। ਜਦੋਂ ਤੁਹਾਡੇ ਕੋਲ ਬਹੁਤ ਸਾਰਾ ਡਾਟਾ ਹੁੰਦਾ ਹੈ ਜੋ ਕਈ ਵੱਖ-ਵੱਖ ਜੁੜੇ ਹੋਏ ਟੇਬਲਾਂ ਵਿੱਚ ਹੈ, ਤਾਂ ਇਸ ਉੱਤੇ ਕੰਮ ਕਰਨ ਲਈ SQL ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਬਿਲਕੁਲ ਮਾਨਯੋਗ ਹੈ। ਹਾਲਾਂਕਿ, ਕਈ ਮਾਮਲੇ ਹੁੰਦੇ ਹਨ ਜਦੋਂ ਸਾਡੇ ਕੋਲ ਇੱਕ ਡਾਟਾ ਟੇਬਲ ਹੁੰਦੀ ਹੈ ਅਤੇ ਸਾਨੂੰ ਇਸ ਡਾਟਾ ਬਾਰੇ ਕੁਝ ਸਮਝ ਜਾਂ ਅੰਦਰੂਨੀ ਜਾਣਕਾਰੀ ਲੈਣੀ ਹੁੰਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਵਿਤਰਣ, ਮੁੱਲਾਂ ਵਿਚਕਾਰ ਨਾਤਾ ਆਦਿ। ਡਾਟਾ ਸਾਇੰਸ ਵਿੱਚ ਅਨੇਕ ਮਾਮਲੇ ਹੁੰਦੇ ਹਨ ਜਿੱਥੇ ਸਾਨੂੰ ਮੂਲ ਡਾਟਾ ਦੇ ਕੁਝ ਰੂਪਾਂਤਰ ਕਰਨੇ ਪੈਂਦੇ ਹਨ, ਜਿਸ ਤੁਰੰਤ ਬਾਅਦ ਵਿਜੁਆਲਾਈਜੇਸ਼ਨ ਕਰਨੀ ਹੁੰਦੀ ਹੈ। ਇਹ ਦੋਵੇਂ ਕਦਮ ਪਾਇਥਨ ਨਾਲ ਆਸਾਨੀ ਨਾਲ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ।
ਪਾਇਥਨ ਵਿੱਚ ਦੋ ਸਭ ਤੋਂ ਲੋੜੀਂਦੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਹਨ ਜੋ ਤੁਹਾਨੂੰ ਟੈਬੂਲਰ ਡਾਟਾ ਨਾਲ ਨਿਪਟਣ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦੀਆਂ ਹਨ:
- Pandas ਤੁਹਾਨੂੰ ਐਸੀਆਂ ਚੀਜ਼ਾਂ ਨੂੰ ਮੈਨਿਪੁਲੇਟ ਕਰਨ ਦੀ ਸਹੂਲਤ ਦਿੰਦਾ ਹੈ, ਜੋ ਕਿ ਡਾਟਾਫਰੇਮ ਕਹਾਏ ਜਾਂਦੇ ਹਨ, ਜੋ ਰਿਲੇਸ਼ਨਲ ਟੇਬਲਾਂ ਦੇ ਸਮਾਨ ਹੁੰਦੇ ਹਨ। ਤੁਸੀਂ ਕਾਲਮਾਂ ਨੂੰ ਨਾਮ ਦੇ ਸਕਦੇ ਹੋ, ਅਤੇ ਰੋਜ਼, ਕਾਲਮ ਅਤੇ ਡਾਟਾਫਰੇਮ ਉੱਤੇ ਆਮ ਤੌਰ ਤੇ ਵੱਖ-ਵੱਖ ਕਾਰਵਾਈਆਂ ਕਰ ਸਕਦੇ ਹੋ।
- Numpy ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ ਹੈ ਜੋ ਟੇਂਸਰ, ਜਿਹੜੇ ਕਿ ਬਹੁ-ਆਯਾਮੀ ਅਰੇ ਹਨ, ਉੱਤੇ ਕੰਮ ਕਰਨ ਲਈ ਹੈ। ਅਰੇ ਵਿਚਲੇ ਸਾਰੇ ਮੁੱਲ ਇੱਕੋ ਕਿਸਮ ਦੇ ਹੁੰਦੇ ਹਨ, ਅਤੇ ਇਹ ਡਾਟਾਫਰੇਮ ਨਾਲੋਂ ਅਸਾਨ ਹੁੰਦਾ ਹੈ, ਪਰ ਇਹ ਹੋਰ ਗਣਿਤੀ ਕਿਰਿਆਵਾਂ ਵਿੱਚ ਸਹਾਇਕ ਹੁੰਦਾ ਹੈ ਅਤੇ ਘੱਟ ਓਵਰਹੈਡ ਪੈਦਾ ਕਰਦਾ ਹੈ।
ਤੁਹਾਨੂੰ ਹੋਰ ਕੁਝ ਹੋਰ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੇ ਬਾਰੇ ਵੀ ਜਾਣਕਾਰੀ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ:
- Matplotlib ਡਾਟਾ ਵਿਜੁਅਲਾਈਜ਼ੇਸ਼ਨ ਅਤੇ ਗ੍ਰਾਫ਼ ਪਲਾਟ ਕਰਨ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ
- SciPy ਕੁਝ ਹੋਰ ਵਿਗਿਆਨਕ ਫੰਕਸ਼ਨਾਂ ਵਾਲੀ ਲਾਇਬ੍ਰੇਰੀ ਹੈ। ਅਸੀਂ ਇਸ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਪਹਿਲਾਂ ਪ੍ਰੋਬੈਬਿਲਿਟੀ ਅਤੇ ਸਟੈਟਿਸਟਿਕਸ ਬਾਰੇ ਗੱਲ ਕਰਦੇ ਸਮੇਂ ਵੇਖਿਆ ਸੀ
ਹੇਠਾਂ ਇੱਕ ਕੋਡ ਦਾ ਟੁਕੜਾ ਦਿੱਤਾ ਗਿਆ ਹੈ ਜੋ ਤੁਸੀਂ ਆਮ ਤੌਰ 'ਤੇ ਆਪਣੇ ਪਾਇਥਨ ਪ੍ਰੋਗਰਾਮ ਦੇ ਸ਼ੁਰੂ 'ਚ ਇਹ ਲਾਇਬ੍ਰੇਰੀਆਂ ਇੰਪੋਰਟ ਕਰਨ ਲਈ ਵਰਤੋਂਗੇ:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import ... # ਤੁਹਾਨੂੰ ਉਹ ਸਹੀ ਉਪ-ਪੈਕੇਜ ਦੱਸਣੇ ਹੋਣਗੇ ਜੋ ਤੁਹਾਨੂੰ ਚਾਹੀਦੇ ਹਨ
Pandas ਕੁਝ ਮੂਲ ਸਿਧਾਂਤਾਂ 'ਤੇ ਕੇਂਦਰਿਤ ਹੈ।
ਸੀਰੀਜ਼
ਸੀਰੀਜ਼ ਮੁੱਲਾਂ ਦੀ ਇੱਕ ਕ੍ਰਮਵਾਰ ਲੜੀ ਹੁੰਦੀ ਹੈ, ਜੋ ਕਿ ਲਿਸਟ ਜਾਂ ਨੰਪਾਈ ਅਰੇ ਵਰਗੀ ਹੁੰਦੀ ਹੈ। ਮੁੱਖ ਫਰਕ ਇਹ ਹੈ ਕਿ ਸੀਰੀਜ਼ ਦੇ ਕੋਲ ਇੱਕ ਇੰਡੈਕਸ ਵੀ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਜਦੋਂ ਅਸੀਂ ਸੀਰੀਜ਼ ਉੱਤੇ ਕਾਰਵਾਈ ਕਰਦੇ ਹਾਂ (ਜਿਵੇਂ ਜੋੜ), ਤਾਂ ਇੰਡੈਕਸ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਲਿਆ ਜਾਂਦਾ ਹੈ। ਇੰਡੈਕਸ ਬਹੁਤ ਸਧਾਰਣ ਇੱਕ ਇੰਟੀਜਰ ਰੋ ਨੰਬਰ ਵਾਂਗ ਵੀ ਹੋ ਸਕਦਾ ਹੈ (ਜਿਵੇਂ ਕਿ ਲਿਸਟ ਜਾਂ ਅਰੇ ਤੋਂ ਸੀਰੀਜ਼ ਬਣਾਉਂਦੇ ਸਮੇਂ ਡਿਫਾਲਟ ਤੌਰ 'ਤੇ ਇਸਦੀ ਵਰਤੋਂ ਹੁੰਦੀ ਹੈ), ਜਾਂ ਇਹ ਜਟਿਲ ਸੰਰਚਨਾ ਵਾਲਾ ਹੋ ਸਕਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਤਾਰੀਖ ਦਾ ਅੰਤਰਾਲ।
ਨੋਟ: ਸੰਗਤ ਨੋਟਬੁੱਕ
notebook.ipynbਵਿੱਚ ਕੁਝ ਪ੍ਰਾਰੰਭਕ Pandas ਕੋਡ ਦਿੱਤਾ ਗਿਆ ਹੈ। ਅਸੀਂ ਇੱਥੇ ਸਿਰਫ ਕੁਝ ਉਦਾਹਰਨਾਂ ਦੀ ਸੂਚੀ ਦਿੱਤੀ ਹੈ, ਤੁਸੀਂ ਪੂਰਾ ਨੋਟਬੁੱਕ ਜ਼ਰੂਰ ਵੇਖੋ।
ਇੱਕ ਉਦਾਹਰਨ ਲਈ ਸੋਚੋ: ਅਸੀਂ ਆਪਣੀ ਆਇਸਕਰੀਮ ਦੀ ਦੁਕਾਨ ਦੀ ਵਿਕਰੀ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹਾਂ। ਆਓ ਇਕ ਸਮੇਂ ਦੀ ਇੱਕ ਲੜੀ ਬਣਾਈਏ ਜਿੱਥੇ ਹਰ ਦਿਨ ਵਿਕਰੀ ਹੋਈ ਆਈਟਮਾਂ ਦੀ ਗਿਣਤੀ ਹੈ:
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()
ਹੁਣ ਮੰਨੋ ਕਿ ਹਰ ਹਫ਼ਤੇ ਅਸੀਂ ਆਪਣੇ ਦੋਸਤਾਂ ਲਈ ਇੱਕ पार्टी ਕਰਦੇ ਹਾਂ, ਅਤੇ ਪਰਤੀ ਨੂੰ 10 ਪੈਕ ਆਇਸਕਰੀਮ ਵਧੇਰੇ ਲੈ ਜਾਂਦੇ ਹਾਂ। ਅਸੀਂ ਇੱਕ ਹੋਰ ਸੀਰੀਜ਼ ਬਣਾ ਸਕਦੇ ਹਾਂ, ਜੋ ਹਫ਼ਤੇ ਦੇ ਇੰਡੈਕਸ ਨਾਲ ਹੈ, ਇਸ ਨੂੰ ਦਰਸਾਉਣ ਲਈ:
additional_items = pd.Series(10,index=pd.date_range(start_date,end_date,freq="W"))
ਜਦੋਂ ਅਸੀਂ ਦੋ ਸੀਰੀਜ਼ ਨੂੰ ਇੱਕਠਾ ਕਰਦੇ ਹਾਂ, ਤਾਂ ਸਾਡੇ ਕੋਲ ਕੁੱਲ ਗਿਣਤੀ ਆ ਜਾਂਦੀ ਹੈ:
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
ਨੋਟ ਕਿ ਅਸੀਂ ਸਧਾਰਣ ਸਿਨਟੈਕਸ
total_items+additional_itemsਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰ ਰਹੇ। ਜੇ ਅਸੀਂ ਕਰਦੇ, ਤਾਂ ਸਾਡੇ ਕੋਲ ਬਹੁਤ ਸਾਰੇNaN(ਨੰਬਰ ਨਹੀਂ) ਮੁੱਲ ਬਣ ਜਾਂਦੇ। ਇਹ ਇਸ ਲਈ ਹੈ ਕਿਉਂਕਿadditional_itemsਸੀਰੀਜ਼ ਦੇ ਕੁਝ ਇੰਡੈਕਸ ਪੌਇੰਟਾਂ ਲਈ ਮੁੱਲ ਗਾਇਬ ਹਨ, ਅਤੇNaNਨੂੰ ਕਿਸੇ ਵੀ ਚੀਜ਼ ਨਾਲ ਜੋੜਨ 'ਤੇNaNਮਿਲਦਾ ਹੈ। ਇਸ ਲਈ ਅਸੀਂ ਜੋੜ ਕਰਨ ਸਮੇਂfill_valueਪੈਰਾਮੀਟਰ ਵਰਤਣਾ ਚਾਹੀਦਾ ਹੈ।
ਸਮੇਂ ਦੀਆਂ ਲੜੀਆਂ ਨਾਲ ਅਸੀਂ ਵੱਖ-ਵੱਖ ਸਮੇਂ ਦੇ ਅੰਤਰਾਲਾਂ ਨਾਲ ਵੀ ਰੀਸੈਂਪਲਿੰਗ ਕਰ ਸਕਦੇ ਹਾਂ। ਉਦਾਹਰਨ ਲਈ, ਮੰਨੋ ਕਿ ਅਸੀਂ ਮਾਸਿਕ ਵਿਕਰੀ ਦੇ ਮਾਪਦੰਡ ਦੀ ਗਣਨਾ ਕਰਨੀ ਹੈ। ਅਸੀਂ ਹੇਠ ਲਿਖੇ ਕੋਡ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹਾਂ:
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
ਡਾਟਾ ਫਰੇਮ
ਡਾਟਾ ਫਰੇਮ ਮੁੱਖ ਤੌਰ 'ਤੇ ਉਹ ਸੀਰੀਜ਼ਾਂ ਦਾ ਸੰਗ੍ਰਹਿ ਹੁੰਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਦਾ ਇੱਕੋ ਜਿਹਾ ਇੰਡੈਕਸ ਹੁੰਦਾ ਹੈ। ਅਸੀਂ ਕਈ ਸੀਰੀਜ਼ਾਂ ਨੂੰ ਮਿਲਾ ਕੇ ਇੱਕ ਡਾਟਾ ਫਰੇਮ ਬਣਾ ਸਕਦੇ ਹਾਂ:
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 |
ਅਸੀਂ ਸੀਰੀਜ਼ਾਂ ਨੂੰ ਕਾਲਮ ਵਜੋਂ ਵੀ ਵਰਤ ਸਕਦੇ ਹਾਂ, ਅਤੇ ਸ਼ਬਦਾਵਲੀ ਦੇ ਜ਼ਰੀਏ ਕਾਲਮਾਂ ਦੇ ਨਾਮ ਤੈਅ ਕਰ ਸਕਦੇ ਹਾਂ:
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 |
ਨੋਟ ਕਿ ਅਸੀਂ ਇਸ ਟੇਬਲ ਲੇਆਉਟ ਨੂੰ ਪਹਿਲਾਂ ਵਾਲੀ ਟੇਬਲ ਨੂੰ ਟਰਾਂਸਪੋਜ਼ ਕਰਕੇ (ਅਰਥਾਤ ਕਤਾਰਾਂ ਅਤੇ ਕਾਲਮਾਂ ਨੂੰ ਬਦਲ ਕੇ) ਵੀ ਹਾਸਲ ਕਰ ਸਕਦੇ ਹਾਂ, ਜਿਵੇਂ ਕਿ ਲਿਖ ਕੇ
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[df['A']>5 and df['A']<7]ਗਲਤ ਹੈ। ਇਸਦੀ ਬਜਾਏ ਤੁਸੀਂ ਬੂਲੀਅਨ ਸੀਰੀਜ਼ 'ਤੇ ਖ਼ਾਸ&ਓਪਰੇਸ਼ਨ ਵਰਤੋ, ਜਿਵੇਂdf[(df['A']>5) & (df['A']<7)](ਬ੍ਰੈਕਟਸ ਜ਼ਰੂਰੀ ਹਨ).
ਨਵੇਂ ਗਣਨਾਤਮਕ ਕਾਲਮ ਬਣਾਉਣਾ। ਅਸੀਂ ਆਪਣੀ ਡਾਟਾ ਫਰੇਮ ਲਈ ਆਸਾਨੀ ਨਾਲ ਨਵੇਂ ਕਾਲਮ ਬਣਾ ਸਕਦੇ ਹਾਂ, ਜਿਹਨਾਂ ਦੀ ਗਣਨਾ ਕੁਝ ਇਸ ਤਰ੍ਹਾਂ ਦੀ ਗਣਤਿ ਵਰਤ ਕੇ ਕਰੀਏ:
df['DivA'] = df['A']-df['A'].mean()
ਇਸ ਉਦਾਹਰਨ ਵਿੱਚ A ਦੇ ਮੱਧਮੁੱਲ ਤੋਂ ਭਿੰਨਤਾ ਦੀ ਗਣਨਾ ਕੀਤੀ ਗਈ ਹੈ। ਅਸਲ ਵਿੱਚ ਜੇਕਰ ਅਸੀਂ ਗਣਨਾ ਕਰ ਰਹੇ ਹਾਂ ਅਤੇ ਫਿਰ ਇਸ ਗਣਨਾ ਨੂੰ ਖੱਬੇ ਪਾਸੇ ਸੌਂਪ ਕੇ ਇਕ ਹੋਰ ਕਾਲਮ ਬਣਾਇਆ ਹੈ। ਇਸ ਲਈ, ਅਸੀਂ ਉਹ ਕੰਮ ਨਹੀਂ ਕਰ ਸਕਦੇ ਜੋ ਸੀਰੀਜ਼ ਦੇ ਨਾਲ ਸੰਗਤ ਨਹੀਂ, ਉਦਾਹਰਨ ਵਜੋਂ ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਗਲਤ ਹੈ:
# ਗਲਤ ਕੋਡ -> df['ADescr'] = "Low" ਜੇ df['A'] < 5 ਹੋਵੇ ਤਾਂ ਨਹੀਂ ਤਾਂ "Hi"
df['LenB'] = len(df['B']) # <- ਗਲਤ ਨਤੀਜਾ
ਇਹ ਆਖਰੀ ਉਦਾਹਰਨ ਜਦੋਂ ਕਿ ਵਾਕਯਤਮਕ ਤੌਰ ਤੇ ਸਹੀ ਹੈ, ਪਰ ਸਹੀ ਨਤੀਜਾ ਨਹੀਂ ਦਿੰਦੀ ਕਿਉਂਕਿ ਇਹ ਕਾਲਮ ਦੇ ਸਾਰੇ ਮੁੱਲਾਂ ਨੂੰ B ਸੀਰੀਜ਼ ਦੀ ਲੰਬਾਈ ਸੁੰਪਦਾ ਹੈ, ਨਾ ਕਿ ਵਿਅਕਤੀਗਤ ਮੁੱਲਾਂ ਦੀ ਲੰਬਾਈ ਜੋ ਅਸੀਂ ਚਾਹੁੰਦੇ ਸੀ।
ਜੇ ਸਾਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਦੀਆਂ ਜਟਿਲ ਅਭਿਵਿੱਕਤੀਆਂ ਦੀ ਗਣਨਾ ਕਰਨ ਦੀ ਲੋੜ ਹੋਵੇ ਤਾਂ ਅਸੀਂ apply ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹਾਂ। ਆਖਰੀ ਉਦਾਹਰਨ ਇੰਝ ਲਿਖੀ ਜਾ ਸਕਦੀ ਹੈ:
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 ਕਤਰਾਂ ਚੁਣਨ ਲਈ:
df.iloc[:5]
ਗ੍ਰੂਪਿੰਗ ਅਕਸਰ ਐਕਸੈਲ ਵਿੱਚ ਪਿਵਟ ਟੇਬਲ ਵਰਗੀ ਨਤੀਜੇ ਲੈਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਜੇ ਸਾਨੂੰ ਹਰੇਕ ਦਿੱਤੇ ਗਏ LenB ਲਈ ਕਾਲਮ A ਦਾ ਮੱਧਮੁੱਲ ਗਣਨਾ ਕਰਨੀ ਹੋਵੇ, ਤਾਂ ਅਸੀਂ ਆਪਣੇ ਡਾਟਾ ਫਰੇਮ ਨੂੰ LenB ਦੇ ਅਨੁਸਾਰ ਗਰੁੱਪ ਕਰਕੇ mean ਕਾਲ ਕਰ ਸਕਦੇ ਹਾਂ:
df.groupby(by='LenB')[['A','DivA']].mean()
ਜੇ ਸਾਨੂੰ ਗਰੁੱਪ ਵਿੱਚ ਮੱਧਮੁੱਲ ਅਤੇ ਅੰਕੜਿਆਂ ਦੀ ਗਿਣਤੀ ਗਣਨਾ ਕਰਨ ਦੀ ਲੋੜ ਹੋਵੇ, ਤਾਂ ਅਸੀਂ ਜਟਿਲ aggregate ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹਾਂ:
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 |
ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰਨਾ
ਅਸੀਂ ਵੇਖਿਆ ਹੈ ਕਿ Python ਆਬਜੈਕਟਸ ਤੋਂ Series ਅਤੇ DataFrames ਬਣਾਉਣਾ ਕਿੰਨਾ ਆਸਾਨ ਹੈ। ਹਾਲਾਂਕਿ, ਡੇਟਾ ਆਮ ਤੌਰ 'ਤੇ ਟੈਕਸਟ ਫਾਇਲ ਜਾਂ Excel ਟੇਬਲ ਦੀ ਸ਼ਕਲ ਵਿੱਚ ਆਉਂਦਾ ਹੈ। ਖੁਸ਼ਕਿਸਮਤੀ ਨਾਲ, Pandas ਸਾਨੂੰ ਡਿਸਕ ਤੋਂ ਡੇਟਾ ਲੋਡ ਕਰਨ ਦਾ ਸਧਾਰਣ ਤਰੀਕਾ ਦਿੰਦਾ ਹੈ। ਉਦਾਹਰਨ ਵਜੋਂ, CSV ਫਾਇਲ ਪੜ੍ਹਨਾ ਇੰਨਾ ਹੀ ਸਧਾਰਣ ਹੈ:
df = pd.read_csv('file.csv')
ਅਸੀਂ ਹੋਰ ਉਦਾਹਰਨਾਂ ਵੇਖਾਂਗੇ ਡੇਟਾ ਲੋਡ ਕਰਨ ਦੀਆਂ, ਜਿਸ ਵਿੱਚ ਬਾਹਰੀ ਵੈੱਬਸਾਈਟਾਂ ਤੋਂ ਡਾਟਾ ਲੈਣਾ ਵੀ ਸ਼ਾਮਿਲ ਹੈ, "Challenge" ਸੈਕਸ਼ਨ ਵਿੱਚ
ਪ੍ਰਿੰਟਿੰਗ ਅਤੇ ਪਲਾਟਿੰਗ
ਇੱਕ ਡੇਟਾ ਸਾਇੰਟੀਸਟ ਨੂੰ ਅਕਸਰ ਡੇਟਾ ਦਾ ਅਧਿਐਨ ਕਰਨਾ ਪੈਂਦਾ ਹੈ, ਇਸ ਲਈ ਇਸ ਨੂੰ ਵਿਜੁਆਲਾਈਜ਼ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਹੋਣਾ ਜਰੂਰੀ ਹੈ। ਜਦੋਂ DataFrame ਵੱਡਾ ਹੁੰਦਾ ਹੈ, ਅਕਸਰ ਅਸੀਂ ਸਿਰਫ਼ ਇਹ ਪੱਕਾ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹਾਂ ਕਿ ਅਸੀਂ ਸਹੀ ਤਰੀਕੇ ਨਾਲ ਸਭ ਕੁਝ ਕਰ ਰਹੇ ਹਾਂ, ਪਹਿਲੀਆਂ ਕੁਝ ਰੋਜ਼ ਪ੍ਰਿੰਟ ਕਰਕੇ। ਇਹ df.head() ਕਾਲ ਕਰਕੇ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਇਸਨੂੰ Jupyter Notebook ਤੋਂ ਚਲਾ ਰਹੇ ਹੋ, ਤਾਂ ਇਹ DataFrame ਨੂੰ ਇੱਕ ਸੁੰਦਰ ਟੈਬੂਲਰ ਫਾਰਮ ਵਿੱਚ ਪ੍ਰਿੰਟ ਕਰੇਗਾ।
ਅਸੀਂ plot ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਵੀ ਵੇਖੀ ਹੈ ਕੁਝ ਕਾਲਮਾਂ ਨੂੰ ਵਿਜੁਆਲਾਈਜ਼ ਕਰਨ ਲਈ। ਜਦੋਂ ਕਿ plot ਬਹੁਤ ਸਾਰੇ ਕੰਮਾਂ ਲਈ ਫਾਇਦਿਮੰਦ ਹੈ ਅਤੇ kind= ਪੈਰਾਮੀਟਰ ਨਾਲ ਅਨੇਕ ਪਰਕਾਰ ਦੇ ਗ੍ਰਾਫਸ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ, ਅਸੀਂ ਹਮੇਸ਼ਾ ਕੱਚੀ matplotlib ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੁਝ ਵਧੇਰੇ ਜਟਿਲ ਚੀਜ਼ ਪਲਾਟ ਕਰ ਸਕਦੇ ਹਾਂ। ਅਸੀਂ ਅਲੱਗ ਕੋਰਸ ਲੇਸਨਜ਼ ਵਿੱਚ ਡੇਟਾ ਵਿਜੁਆਲਾਈਜ਼ੇਸ਼ਨ ਵਿਸਥਾਰ ਨਾਲ ਕਵਰ ਕਰਾਂਗੇ।
ਇਹ ਓਵਰਵਿਊ Pandas ਦੇ ਸਭ ਤੋਂ ਜਰੂਰੀ ਸੰਕਲਪਾਂ ਨੂੰ ਕਵਰ ਕਰਦਾ ਹੈ, ਪਰ ਲਾਇਬ੍ਰੇਰੀ ਬਹੁਤ ਵੱਡੀ ਹੈ, ਅਤੇ ਤੁਸੀਂ ਇਸ ਨਾਲ ਬਹੁਤ ਕੁਝ ਕਰ ਸਕਦੇ ਹੋ! ਆਓ ਹੁਣ ਇਸ ਗਿਆਨ ਨੂੰ ਕਿਸੇ ਖਾਸ ਸਮੱਸਿਆ ਦਾ ਹੱਲ ਕਰਨ ਲਈ ਲਾਗੂ ਕਰੀਏ।
🚀 ਚੈਲੇਂਜ 1: COVID ਫੈਲਾਅ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ
ਪਹਿਲੀ ਸਮੱਸਿਆ ਜਿਸ 'ਤੇ ਅਸੀਂ ਧਿਆਨ ਦੇਵਾਂਗੇ, COVID-19 ਦੇ ਮਹਾਮਾਰੀ ਫੈਲਾਅ ਦਾ ਮਾਡਲ ਬਣਾਉਣਾ ਹੈ। ਇਸ ਲਈ, ਅਸੀਂ ਵੱਖ-ਵੱਖ ਦੇਸ਼ਾਂ ਵਿੱਚ ਸੰਕ੍ਰਮਿਤ ਲੋਕਾਂ ਦੀ ਗਿਣਤੀ 'ਤੇ ਆਧਾਰਿਤ ਡੇਟਾ ਵਰਤਾਂਗੇ, ਜੋ Center for Systems Science and Engineering (CSSE) ਵੱਲੋਂ Johns Hopkins University ਨੇ ਮੁਹੱਈਆ ਕਰਵਾਇਆ ਹੈ। ਡੇਟਾ ਸੈੱਟ ਇਸ GitHub ਰਿਪੋਜ਼ਟਰੀ ਵਿੱਚ ਉਪਲਬਧ ਹੈ।
ਜਿਵੇਂ ਕਿ ਅਸੀਂ ਡੇਟਾ ਨਾਲ ਨਿਪਟਣ ਦੇ ਤਰੀਕੇ ਦਿਖਾਣਾ ਚਾਹੁੰਦੇ ਹਾਂ, ਅਸੀਂ ਤੁਹਾਨੂੰ ਸੱਦਾ ਦਿੰਦੇ ਹਾਂ ਕਿ ਤੁਸੀਂ notebook-covidspread.ipynb ਖੋਲ੍ਹੋ ਅਤੇ ਇਸਨੂੰ ਚੋਟੀ ਤੋਂ ਤਲੇ ਤਕ ਪੜ੍ਹੋ। ਤੁਸੀਂ ਸੈੱਲਾਂ ਚਲਾ ਸਕਦੇ ਹੋ ਅਤੇ ਅਸੀਂ ਤੁਹਾਡੇ ਲਈ ਅੰਤ ਵਿੱਚ ਕੁਝ ਚੈਲੇਂਜ ਵੀ ਛੱਡੇ ਹਨ।
ਜੇ ਤੁਹਾਨੂੰ Jupyter Notebook ਵਿੱਚ ਕੋਡ ਕਿਵੇਂ ਚਲਾਉਣਾ ਹੈ ਇਹ ਨਹੀਂ ਪਤਾ, ਤਾਂ ਇਸ ਲੇਖ ਨੂੰ ਦੇਖੋ।
ਬਿਨਾਂ ਸਰਚਨਾ ਵਾਲਾ ਡੇਟਾ ਨਾਲ ਕੰਮ ਕਰਨਾ
ਜਦੋਂ ਕਿ ਡੇਟਾ ਬਹੁਤ ਵਾਰੀ ਟੇਬੂਲਰ ਫਾਰਮ ਵਿੱਚ ਆਉਂਦਾ ਹੈ, ਕੁਝ ਮਾਮਲਿਆਂ ਵਿੱਚ ਸਾਨੂੰ ਘੱਟ ਸਰਚੋੜ ਵਾਲੇ ਡੇਟਾ ਨਾਲ ਨਿਪਟਣਾ ਪੈਂਦਾ ਹੈ, ਉਦਾਹਰਨ ਵਜੋਂ, ਟੈਕਸਟ ਜਾਂ ਚਿੱਤਰ। ਇਸ ਹਾਲਤ ਵਿੱਚ, ਉੱਪਰ ਵੇਖੇ ਡੇਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਤਕਨੀਕਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਸਾਨੂੰ ਕਿਸੇ ਤਰ੍ਹਾਂ ਸਰਚਿਤ ਡੇਟਾ ਕੱਢਣਾ ਪੈਂਦਾ ਹੈ। ਇਹਨਾਂ ਕੁਝ ਉਦਾਹਰਨਾਂ ਹਨ:
- ਟੈਕਸਟ ਵਿੱਚੋਂ ਕੀਵਰਡਜ਼ ਕੱਢਣਾ, ਅਤੇ ਵੇਖਣਾ ਕਿ ਉਹ ਕੀਵਰਡਜ਼ ਕਿੰਨੀ ਵਾਰੀ ਆਉਂਦੇ ਹਨ
- ਨਿਊਰਲ ਨੈੱਟਵਰਕਜ਼ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਚਿੱਤਰ ਵਿੱਚੋਂ ਵਸਤੂਆਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਕੱਢਣਾ
- ਵੀਡੀਓ ਕੈਮਰਾ ਫੀਡ ਵਿੱਚ ਲੋਕਾਂ ਦੀਆਂ ਭਾਵਨਾਵਾਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰਨਾ
🚀 ਚੈਲੇਂਜ 2: COVID ਪੇਪਰਾਂ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ
ਇਸ ਚੈਲੇਂਜ ਵਿੱਚ, ਅਸੀਂ COVID ਮਹਾਮਾਰੀ ਦੇ ਵਿਸ਼ੇ ਨਾਲ ਜੁੜੇ ਵਿਗਿਆਨਕ ਪੇਪਰਾਂ ਨੂੰ ਪ੍ਰੋਸੈਸ ਕਰਨ 'ਤੇ ਧਿਆਨ ਦੇਵਾਂਗੇ। CORD-19 Dataset COVID ਬਾਰੇ 7000 ਤੋਂ ਵੱਧ (ਜਦ ਲਿਖ ਰਹੇ ਹਾਂ) ਪੇਪਰਾਂ ਨਾਲ ਉਪਲਬਧ ਹੈ, ਜਿਸ ਵਿੱਚ ਮੈਟਾਡੇਟਾ ਅਤੇ ਐਬਸਟ੍ਰੈਕਟ ਹਨ (ਅਤੇ ਲਗਭਗ ਅੱਧੇ ਲਈ ਪੂਰਾ ਟੈਕਸਟ ਵੀ ਦਿੱਤਾ ਗਿਆ ਹੈ)।
Text Analytics for Health ਕੌਗਨਿਟਿਵ ਸੇਵਾ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਸ ਡੇਟਾ ਸੈੱਟ ਦੇ ਵਿਸ਼ਲੇਸ਼ਣ ਦੀ ਪੂਰੀ ਉਦਾਹਰਨ ਇਸ ਬਲੌਗ ਪੋਸਟ ਵਿੱਚ ਦਿੱਤੀ ਗਈ ਹੈ। ਅਸੀਂ ਇਸ ਵਿਸ਼ਲੇਸ਼ਣ ਦਾ ਸਧਾਰਣ ਸੰਸਕਰਣ ਚਰਚਾ ਕਰਾਂਗੇ।
ਨੋਟ: ਅਸੀਂ ਇਸ ਰਿਪੋਜ਼ਟਰੀ ਦਾ ਹਿੱਸਾ ਵਜੋਂ ਡੇਟਾ ਸੈੱਟ ਦੀ ਨਕਲ ਨਹੀਂ ਦਿੱਤੀ। ਸਾਨੂੰ ਸਭ ਤੋਂ ਪਹਿਲਾਂ
metadata.csvਫਾਇਲ ਕਾਗਲ 'ਤੇ ਇਸ ਡੇਟਾ ਸੈੱਟ ਤੋਂ ਡਾਊਨਲੋਡ ਕਰਨੀ ਪਵੇਗੀ। ਕਾਗਲ 'ਤੇ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਲਾਜ਼ਮੀ ਹੋ ਸਕਦੀ ਹੈ। ਤੁਸੀਂ ਬਿਨਾਂ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਦੇ ਵੀ ਇਸਨੂੰ ਇੱਥੋਂ ਡਾਊਨਲੋਡ ਕਰ ਸਕਦੇ ਹੋ, ਪਰ ਇਸ ਵਿੱਚ ਸਿਰਫ਼ ਮੈਟਾਡੇਟਾ ਫਾਇਲ ਹੀ ਨਹੀਂ, ਸਾਰੇ ਪੂਰੇ ਟੈਕਸਟ ਵੀ ਸ਼ਾਮਿਲ ਹੋਣਗੇ।
notebook-papers.ipynb ਖੋਲ੍ਹੋ ਅਤੇ ਇਸਨੂੰ ਚੋਟੀ ਤੋਂ ਤਲੇ ਤਕ ਪੜ੍ਹੋ। ਤੁਸੀਂ ਸੈੱਲਾਂ ਚਲਾ ਸਕਦੇ ਹੋ ਅਤੇ ਅਸੀਂ ਤੁਹਾਡੇ ਲਈ ਅੰਤ ਵਿੱਚ ਕੁਝ ਚੈਲੇਂਜ ਵੀ ਛੱਡੇ ਹਨ।
ਚਿੱਤਰ ਡੇਟਾ ਦਾ ਪ੍ਰੋਸੈਸਿੰਗ
ਹਾਲ ਹੀ ਵਿੱਚ, ਬਹੁਤ ਤਾਕਤਵਰ AI ਮਾਡਲ ਤਿਆਰ ਕੀਤੇ ਗਏ ਹਨ ਜੋ ਸਾਨੂੰ ਚਿੱਤਰਾਂ ਨੂੰ ਸਮਝਣ ਦੀ ਸਮਰੱਥਾ ਦਿੰਦੇ ਹਨ। ਅਨੇਕ ਕੰਮ ਜੋ ਪ੍ਰੀ-ਟ੍ਰੇਨਡ ਨਿਊਰਲ ਨੈੱਟਵਰਕਾਂ ਜਾਂ ਕਲਾਉਡ ਸੇਵਾਵਾਂ ਦਾ ਇਸਤੇਮਾਲ ਕਰਕੇ ਹੱਲ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ। ਕੁਝ ਉਦਾਹਰਨਾਂ ਹਨ:
- ਚਿੱਤਰ ਵਰਗੀਕਰਨ, ਜੋ ਤੁਹਾਡੇ ਚਿੱਤਰ ਨੂੰ ਪਹਿਲਾਂ ਤੋਂ ਨਿਰਧਾਰਿਤ ਵਰਗਾਂ ਵਿੱਚੋਂ ਇੱਕ ਵਿੱਚ ਵਰਗੀਕ੍ਰਿਤ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ। ਤੁਸੀਂ ਆਸਾਨੀ ਨਾਲ ਆਪਣਾ ਚਿੱਤਰ ਵਰਗੀਕਰਤਾ ਸੇਵਾਵਾਂ ਜਿਵੇਂ Custom Vision ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਤਿਆਰ ਕਰ ਸਕਦੇ ਹੋ
- ਵਸਤੂ ਪਛਾਣ ਵੱਖ-ਵੱਖ ਵਸਤੂਆਂ ਨੂੰ ਚਿੱਤਰ ਵਿੱਚ ਪਛਾਣਨ ਲਈ। ਸੇਵਾਵਾਂ ਜਿਵੇਂ ਕੰਪਿਊਟਰ ਵਿਜ਼ਨ ਕਈ ਆਮ ਵਸਤੂਆਂ ਦੀ ਪਛਾਣ ਕਰ ਸਕਦੀਆਂ ਹਨ, ਅਤੇ ਤੁਸੀਂ Custom Vision ਮਾਡਲ ਨੂੰ ਕੁਝ ਖਾਸ ਰੁਚੀ ਵਾਲੀਆਂ ਵਸਤੂਆਂ ਪਛਾਣਨ ਲਈ ਤਿਆਰ ਕਰ ਸਕਦੇ ਹੋ।
- ਚਿਹਰਾ ਪਛਾਣ, ਜਿਸ ਵਿੱਚ ਉਮਰ, ਲਿੰਗ ਅਤੇ ਭਾਵ ਠਹਿਰਾਉਣ ਵੀ ਸ਼ਾਮਿਲ ਹੈ। ਇਹ Face API ਰਾਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਇਹਨਾਂ ਸਾਰੀਆਂ ਕਲਾਉਡ ਸੇਵਾਵਾਂ ਨੂੰ Python SDKs ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕਾਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਇਹ ਤੁਹਾਡੇ ਡੇਟਾ ਅਨੁਸੰਧਾਨ ਕਾਰਜ ਪ੍ਰਵਾਹ ਵਿੱਚ ਆਸਾਨੀ ਨਾਲ ਸ਼ਾਮਿਲ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ।
ਇੱਥੇ ਚਿੱਤਰ ਡੇਟਾ ਸਰੋਤਾਂ ਤੋਂ ਡੇਟਾ ਦੀ ਜਾਂਚ ਕਰਨ ਦੀਆਂ ਕੁਝ ਉਦਾਹਰਨਾਂ ਹਨ:
- ਬਲੌਗ ਲੇਖ ਕੋਡਿੰਗ ਬਿਨਾਂ ਡੇਟਾ ਸਾਇੰਸ ਕਿਸ ਤਰ੍ਹਾਂ ਸਿੱਖੀਏ ਵਿੱਚ ਅਸੀਂ Instagram ਦੀਆਂ ਤਸਵੀਰਾਂ ਦੀ ਜਾਂਚ ਕਰਦੇ ਹਾਂ, ਇਹ ਸਮਝਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਾਂ ਕਿ ਲੋਕ ਕਿਸ ਤਰ੍ਹਾਂ ਫੋਟੋ ਨੂੰ ਵੱਧ ਲਾਇਕ ਕਰਦੇ ਹਨ। ਅਸੀਂ ਪਹਿਲਾਂ ਚਿੱਤਰਾਂ ਵਿੱਚੋਂ ਜਿਵੇਂ ਕੰਪਿਊਟਰ ਵਿਜ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਜਿੰਨਾ ਜਿਆਦਾ ਜਾਣਕਾਰੀ ਲਈ ਸੰਭਵ ਹੈ ਕੱਢਦੇ ਹਾਂ, ਅਤੇ ਫਿਰ Azure Machine Learning AutoML ਨਾਲ ਇੱਕ ਵਿਆਖਿਆਤਮਕ ਮਾਡਲ ਬਣਾਉਂਦੇ ਹਾਂ।
- Facial Studies Workshop ਵਿੱਚ ਅਸੀਂ ਲੋਕਾਂ ਦੀਆਂ ਤਸਵੀਰਾਂ ਵਿਚੋਂ ਭਾਵਨਾਵਾਂ ਕੱਢਣ ਲਈ Face API ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ, ਇਸ ਤਰ੍ਹਾਂ ਸਮਝਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਾਂ ਕਿ ਲੋਕਾਂ ਨੂੰ ਖੁਸ਼ੀ ਕਿਵੇਂ ਮਿਲਦੀ ਹੈ।
ਨਤੀਜਾ
ਚਾਹੇ ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਸਰਚਿਤ ਜਾਂ ਬਿਨਾਂ ਸਰਚੋੜ ਵਾਲਾ ਡੇਟਾ ਹੋਵੇ, Python ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਤੁਸੀਂ ਡੇਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਅਤੇ ਸਮਝਣ ਨਾਲ ਜੁੜੇ ਸਾਰੇ ਕਦਮ ਕਰ ਸਕਦੇ ਹੋ। ਇਹ ਸੰਭਵਤ: ਡੇਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਦਾ ਸਭ ਤੋਂ ਲਚਕੀਲਾ ਤਰੀਕਾ ਹੈ, ਅਤੇ ਇਸੀ ਕਾਰਨ ਜਿਆਦਾਤਰ ਡੇਟਾ ਸਾਇੰਟੀਸਟ Python ਨੂੰ ਆਪਣਾ ਪ੍ਰਮੁੱਖ ਸੰਦ ਵਜੋਂ ਵਰਤਦੇ ਹਨ। ਜੇ ਤੁਸੀਂ ਆਪਣੇ ਡੇਟਾ ਸਾਇੰਸ ਸਫ਼ਰ ਲਈ ਗੰਭੀਰ ਹੋ, ਤਾਂ Python ਨੂੰ ਗਹਿਰਾਈ ਨਾਲ ਸਿੱਖਣਾ ਸੰਭਵਤ: ਇੱਕ ਵਧੀਆ ਵਿਚਾਰ ਹੈ!
ਪੋਸਟ-ਲੈਕਚਰ ਕੁਇਜ਼
ਸਮੀਖਿਆ ਅਤੇ ਸਵੈ ਅਧਿਐਨ
ਕਿਤਾਬਾਂ
ਆਨਲਾਈਨ ਸਰੋਤ
Python ਸਿੱਖਣਾ
- Turtle Graphics ਅਤੇ Fractals ਨਾਲ ਮਨੋਰੰਜਕ ਢੰਗ ਵਿੱਚ Python ਸਿੱਖੋ
- Python ਨਾਲ ਆਪਣੇ ਪਹਿਲੇ ਕਦਮ ਚੁੱਕੋ Learning Path Microsoft Learn 'ਤੇ
ਅਸਾਈਨਮੈਂਟ
ਉਪਰੋਕਤ ਚੈਲੇਂਜਾਂ ਲਈ ਹੋਰ ਵਿਸਥਾਰ ਵਿੱਚ ਡੇਟਾ ਅਧਿਐਨ ਕਰੋ
ਕ੍ਰੈਡਿਟਸ
ਇਸ ਪਾਠ ਨੂੰ ♥️ ਨਾਲ ਲਿਖਿਆ ਹੈ Dmitry Soshnikov ਵਲੋਂ
ਅਸਵੀਕਾਰੋਪਣ: ਇਸ ਦਸਤਾਵੇਜ਼ ਦਾ ਅਨੁਵਾਦ ਏਆਈ ਅਨੁਵਾਦ ਸੇਵਾ Co-op Translator ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀਤਾਵਾਂ ਲਈ ਯਤਨਸ਼ੀਲ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਰੱਖੋ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸਮੱਤਿਆਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਆਪਣੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਅਧਿਕਾਰਕ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਜਰੂਰੀ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਅਸੀਂ ਇਸ ਅਨੁਵਾਦ ਦੇ ਉਪਯੋਗ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੀਆਂ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀਆਂ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆਵਾਂ ਲਈ ਜਵਾਬਦੇਹ ਨਹੀਂ ਹਾਂ।






