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
localizeflow[bot] e7b06bd1d1
chore(i18n): sync translations with latest source changes (chunk 1/1, 2 changes)
4 weeks ago
..
R 🌐 Update translations via Co-op Translator 11 months ago
README.md chore(i18n): sync translations with latest source changes (chunk 1/1, 2 changes) 4 weeks ago
assignment.md chore(i18n): sync translations with latest source changes (chunk 1/6, 692 changes) 6 months ago
notebook-covidspread.ipynb chore(i18n): sync translations with latest source changes (chunk 1/1, 70 changes) 5 months ago
notebook-papers.ipynb 🌐 Update translations via Co-op Translator 11 months ago
notebook.ipynb 🌐 Update translations via Co-op Translator 11 months ago

README.md

ਡਾਟਾ ਨਾਲ ਕੰਮ ਕਰਨਾ: Python ਅਤੇ Pandas ਲਾਇਬ੍ਰੇਰੀ

 Sketchnote by (@sketchthedocs)
Python ਨਾਲ ਕੰਮ ਕਰਨਾ - Sketchnote by @nitya

Intro Video

ਜਦੋਂ ਕਿ ਡਾਟਾਬੇਸ ਡਾਟਾ ਸਟੋਰ ਕਰਨ ਅਤੇ ਕੁਏਰੀ ਭਾਸ਼ਾਵਾਂ ਦੀ ਵਰਤੋਂ ਨਾਲ ਉਹਨਾਂ ਉੱਤੇ ਕੁਏਰੀ ਕਰਨ ਦੇ ਬਹੁਤ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਤਰੀਕੇ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ, ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਦਾ ਸਭ ਤੋਂ ਲਚਕੀਲਾ ਤਰੀਕਾ ਆਪਣਾ ਖੁਦ ਦਾ ਪ੍ਰੋਗਰਾਮ ਲਿਖ ਕੇ ਡਾਟਾ ਨੂੰ ਮੈਨਿਪੁਰਲੇਟ ਕਰਨਾ ਹੈ। ਬਹੁਤ ਸਾਰੀਆਂ ਸਥਿਤੀਆਂ ਵਿੱਚ, ਡਾਟਾਬੇਸ ਕੁਏਰੀ ਕਰਨੀ ਜ਼ਿਆਦਾ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਹੁੰਦੀ ਹੈ। ਪਰ ਕੁਝ ਮਾਮਲਿਆਂ ਵਿੱਚ, ਜਦੋਂ ਹੋਰ ਜਟਿਲ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਇਹ ਕੰਮ SQL ਵਰਤ ਕੇ ਆਸਾਨੀ ਨਾਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।
ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਕਿਸੇ ਵੀ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਵਿੱਚ ਪ੍ਰੋਗਰਾਮ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਪਰ ਕੁਝ ਭਾਸ਼ਾਵਾਂ ਡਾਟਾ ਨਾਲ ਕੰਮ ਕਰਨ ਦੇ ਸੰਦਰਭ ਵਿੱਚ ਉੱਚ ਸਤਰ ਦੀਆਂ ਮੰਨੀ ਜਾਂਦੀਆਂ ਹਨ। ਡਾਟਾ ਸਾਇੰਟੀਸਿਟਸ ਆਮ ਤੌਰ 'ਤੇ ਹੇਠਾਂ ਦਿੱਤੀਆਂ ਵਿੱਚੋਂ ਕਿਸੇ ਇੱਕ ਭਾਸ਼ਾ ਨੂੰ ਪਸੰਦ ਕਰਦੇ ਹਨ:

  • Python, ਇੱਕ ਜਨਰਲ-ਪਰਪਜ਼ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ, ਜੋ ਆਮ ਤੌਰ ਤੇ ਆਪਣੀ ਸਾਦਗੀ ਕਰਕੇ ਸ਼ੁਰੂਆਤੀ ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ ਵਿਕਲਪਾਂ ਵਿੱਚੋਂ ਇੱਕ ਮੰਨੀ ਜਾਂਦੀ ਹੈ। Python ਕੋਲ ਕਈ ਵਾਧੂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਹਨ ਜੋ ਤੁਹਾਡੇ ਲਈ ਬਹੁਤ ਸਾਰੇ ਆਮ ਮਸਲੇ ਹੱਲ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦੀਆਂ ਹਨ, ਜਿਵੇਂ ਕਿ ZIP ਆਰਕਾਈਵ ਤੋਂ ਡਾਟਾ ਕੱਢਣਾ ਜਾਂ ਤਸਵੀਰ ਨੂੰ ਗ੍ਰੇਸਕੇਲ ਵਿੱਚ ਪਰਿਵਰਤਿਤ ਕਰਨਾ। ਡਾਟਾ ਸਾਇੰਸ ਤੋਂ ਇਲਾਵਾ, Python ਅਕਸਰ ਵੈੱਬ ਵਿਕਾਸ ਲਈ ਵੀ ਵਰਤੀ ਜਾਂਦੀ ਹੈ।
  • R ਇੱਕ ਪਾਰੰਪਰਿਕ ਟੂਲਬਾਕਸ ਹੈ ਜੋ ਸਾਂਖਿਆਕੀ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਸ ਵਿੱਚ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦਾ ਵੱਡਾ ਜਥਾ (CRAN) ਹੈ, ਜੋ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਲਈ ਇੱਕ ਵਧੀਆ ਚੋਣ ਹੈ। ਪਰ R ਜਨਰਲ-ਪਰਪਜ਼ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਨਹੀਂ ਹੈ ਅਤੇ ਅਕਸਰ ਡਾਟਾ ਸਾਇੰਸ ਡੋਮੇਨ ਤੋਂ ਬਾਹਰ ਵਰਤੀ ਨਹੀਂ ਜਾਂਦੀ।
  • Julia ਇੱਕ ਹੋਰ ਭਾਸ਼ਾ ਹੈ ਜੋ ਖਾਸ ਕਰਕੇ ਡਾਟਾ ਸਾਇੰਸ ਲਈ ਵਿਕਸਤ ਕੀਤੀ ਗਈ ਹੈ। ਇਹ Python ਨਾਲੋਂ ਬਿਹਤਰ ਪ੍ਰਦਰਸ਼ਨ ਦੇਣ ਲਈ ਬਣਾਈ ਗਈ ਹੈ, ਜੋ ਕਿ ਵਿਗਿਆਨਕ ਪ੍ਰਯੋਗਾਂ ਲਈ ਇਕ ਸ਼ਾਨਦਾਰ ਟੂਲ ਹੈ।

ਇਸ ਪਾਠ ਵਿੱਚ, ਅਸੀਂ ਸਾਦੀ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਲਈ Python ਦੀ ਵਰਤੋਂ 'ਤੇ ਧਿਆਨ ਕੇਂਦ੍ਰਿਤ ਕਰਾਂਗੇ। ਅਸੀਂ ਭਾਸ਼ਾ ਦੀ ਮੂਲ ਜਾਣਕਾਰੀ ਮੰਨ ਕੇ ਚਲਾਂਗੇ। ਜੇ ਤੁਸੀਂ Python ਦਾ ਹੋਰ ਵਿਸਥਾਰ ਵਿੱਚ ਜਾਣਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੀਆਂ ਕਿਸੇ ਇੱਕ ਸਰੋਤ ਤੋਂ ਸਹਾਇਤਾ ਲੈ ਸਕਦੇ ਹੋ:

ਡਾਟਾ ਕਈ ਸਰੂਪਾਂ ਵਿੱਚ ਹੋ ਸਕਦਾ ਹੈ। ਇਸ ਪਾਠ ਵਿੱਚ, ਅਸੀਂ ਤਿੰਨ ਪ੍ਰਕਾਰ ਦੇ ਡਾਟਾ 'ਤੇ ਵਿਚਾਰ ਕਰਾਂਗੇ - ਟੈਬੂਲਰ ਡਾਟਾ, ਟੈਕਸਟ ਅਤੇ ਤਸਵੀਰਾਂ

ਅਸੀਂ ਕੁਝ ਉਦਾਹਰਨਾਂ 'ਤੇ ਧਿਆਨ ਦੇਵਾਂਗੇ ਜਿੱਥੇ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਦਿਖਾਈ ਜਾਵੇਗੀ, ਨਾ ਕਿ ਸਾਰੇ ਸੰਬੰਧਿਤ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦਾ ਪੂਰਾ ਜਾਇਜ਼ਾ ਦੇਵਾਂਗੇ। ਇਸ ਨਾਲ ਤੁਹਾਨੂੰ ਮੁੱਖ ਵਿਚਾਰ ਮਿਲੇਗਾ ਕਿ ਕੀ ਸੰਭਵ ਹੈ, ਅਤੇ ਤੁਸੀਂ ਸਮੱਸਿਆਵਾਂ ਦੇ ਹੱਲ ਲੱਭਣ ਲਈ ਕਿੱਥੇ ਵੇਖਣਾ ਹੈ ਇਹ ਸਮਝਣ ਵਿੱਚ ਸਹਾਇਤਾ ਮਿਲੇਗੀ।

ਸਭ ਤੋਂ ਲਾਭਦਾਇਕ ਸਲਾਹ: ਜਦੋਂ ਤੁਹਾਨੂੰ ਡਾਟਾ 'ਤੇ ਕੋਈ ਖਾਸ ਕਾਰਵਾਈ ਕਰਨੀ ਹੋ ਜਿਹੜੀ ਤੁਹਾਨੂੰ ਨਹੀਂ ਆਉਂਦੀ, ਤਾਂ ਇੰਟਰਨੇਟ 'ਤੇ ਉਸ ਦੀ ਖੋਜ ਕਰੋ। Stackoverflow ਅਮੂਮਨ Python ਵਿੱਚ ਬਹੁਤ ਸਾਰੇ ਕੂੜਾ ਕੋਡ ਦੇ ਨਮੂਨੇ ਰੱਖਦਾ ਹੈ ਜੋ ਬਹੁਤ ਸਾਰੇ ਆਮ ਕੰਮਾਂ ਲਈ ਲਾਭਦਾਇਕ ਹੁੰਦੇ ਹਨ।

ਪਹਿਲੇ ਵਿਦਿਆਰਥੀ ਟੈਸਟ

ਟੈਬੂਲਰ ਡਾਟਾ ਅਤੇ ਡਾਟਾਫਰੇਮਜ਼

ਜਦੋਂ ਅਸੀਂ ਸੰਬੰਧਿਤ ਡਾਟਾਬੇਸਾਂ ਬਾਰੇ ਗੱਲ ਕੀਤੀ ਸੀ, ਤਦੋਂ ਤੁਸੀਂ ਪਹਿਲਾਂ ਹੀ ਟੈਬੂਲਰ ਡਾਟਾ ਨਾਲ ਮਿਲੇ ਹੋ। ਜਦੋਂ ਤੁਹਾਡੇ ਕੋਲ ਬਹੁਤ ਸਾਰਾ ਡਾਟਾ ਹੁੰਦਾ ਹੈ ਅਤੇ ਇਹ ਬਹੁਤ ਸਾਰੀਆਂ ਵੱਖ-ਵੱਖ ਲਿੰਕ ਕੀਤੀਆਂ ਟੇਬਲਾਂ ਵਿੱਚ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਇਸ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ SQL ਵਰਤਣਾ ਵਾਜਬ ਹੁੰਦਾ ਹੈ। ਪਰ ਬਹੁਤ ਸਾਰੀਆਂ ਸਥਿਤੀਆਂ ਹੁੰਦੀਆਂ ਹਨ ਜਿੱਥੇ ਸਾਡੇ ਕੋਲ ਡਾਟਾ ਦੀ ਇੱਕ ਟੇਬਲ ਹੁੰਦੀ ਹੈ ਅਤੇ ਸਾਨੂੰ ਇਸ ਡਾਟਾ ਬਾਰੇ ਕੁਝ ਸਮਝ ਜਾਂ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਵੰਡ, ਮੁੱਲਾਂ ਵਿਚਕਾਰ ਸੰਬੰਧ, ਆਦਿ। ਡਾਟਾ ਸਾਇੰਸ ਵਿੱਚ ਕਈ ਵਾਰ ਸਾਨੂੰ ਮੂਲ ਡਾਟਾ ਵਿੱਚ ਕੁਝ ਤਬਦੀਲੀਆਂ ਕਰਨੀ ਪੈਂਦੀਆਂ ਹਨ, ਜਿਸ ਤੋਂ ਬਾਅਦ ਵਿਜ਼ੁਅਲਾਈਜ਼ੇਸ਼ਨ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਨ੍ਹਾਂ ਦੋਹਾਂ ਕਦਮਾਂ ਨੂੰ ਆਸਾਨੀ ਨਾਲ Python ਦੀ ਵਰਤੋਂ ਨਾਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।

Python ਵਿੱਚ ਦੋ ਸਭ ਤੋਂ ਲਾਭਦਾਇਕ ਲਾਇਬ੍ਰੇਰੀਆਂ ਹਨ ਜੋ ਤੁਹਾਨੂੰ ਟੈਬੂলਰ ਡਾਟਾ ਨਾਲ ਕੰਮ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦੀਆਂ ਹਨ:

  • Pandas ਤੁਹਾਨੂੰ ਕਹੇ ਜਾਂਦੇ ਡਾਟਾਫਰੇਮ ਨੂੰ ਮੈਨਿਪੁਰਲੇਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜੋ ਸੰਬੰਧਿਤ ਟੇਬਲਾਂ ਵਰਗੇ ਹਨ। ਤੁਸੀਂ ਨਾਂਵ ਵਾਲੇ ਕਾਲਮ ਹੋ ਸਕਦੇ ਹੋ, ਅਤੇ ਸਤਰਾਂ, ਕਾਲਮਾਂ ਅਤੇ ਆਮ ਤੌਰ 'ਤੇ ਡਾਟਾਫਰੇਮਾਂ ਉੱਤੇ ਵੱਖ-ਵੱਖ ਕਾਰਵਾਈਆਂ ਕਰ ਸਕਦੇ ਹੋ।
  • Numpy ਟੈਨਸਰਾਂ, ਯਾਨੀ ਬਹੁ-ਮਾਤਰਾ ਵਾਲੇ ਐਰੇਜ਼ ਦੇ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ ਹੈ। ਐਰੇ ਵਿੱਚ ਇੱਕੋ ਕਿਸਮ ਦੇ ਮੁੱਲ ਹੁੰਦੇ ਹਨ, ਅਤੇ ਇਹ ਡਾਟਾਫਰੇਮ ਨਾਲੋਂ ਸਧਾਰਣ ਹੁੰਦਾ ਹੈ, ਪਰ ਇਹ ਹੋਰ ਗਣਿਤੀ ਕਾਰਵਾਈਆਂ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਘੱਟ ਓਹਦਾ ਪੈਦਾ ਕਰਦਾ ਹੈ।

ਕੁਝ ਹੋਰ ਲਾਇਬ੍ਰੇਰੀਆਂ ਵੀ ਹਨ ਜੋ ਤੁਹਾਨੂੰ ਜਾਣਨੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ:

  • Matplotlib ਡਾਟਾ ਵਿਜ਼ੁਅਲਾਈਜ਼ੇਸ਼ਨ ਅਤੇ ਗ੍ਰਾਫ ਪਲਾਟਿੰਗ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ ਹੈ
  • SciPy ਕੁਝ ਵਾਧੂ ਵਿਗਿਆਨਕ ਕਾਰਜਾਂ ਲਈ ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ ਹੈ। ਅਸੀਂ ਇਸ ਲਾਇਬ੍ਰੇਰੀ ਨਾਲ ਪਹਿਲਾਂ ਪ੍ਰਬਾਬਿਲਿਟੀ ਅਤੇ ਸਾਂਖਿਆਕ ਦੀ ਗੱਲ ਕਰਦੇ ਸਮੇਂ ਮਿਲ ਚੁੱਕੇ ਹਾਂ।

ਹੇਠਾਂ ਇੱਕ ਕੋਡ ਦਾ ਹਿੱਸਾ ਹੈ ਜੋ ਤੁਸੀਂ ਆਮ ਤੌਰ ਤੇ ਆਪਣੇ Python ਪ੍ਰੋਗਰਾਮ ਦੀ ਸ਼ੁਰੂਆਤ ਵਿੱਚ ਇਹਨਾਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਇੰਪੋਰਟ ਕਰਨ ਲਈ ਵਰਤੋਗੇ:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import ... # ਤੁਹਾਨੂੰ ਜ਼ਰੂਰੀ ਸਬ-ਪੈਕੇਜਾਂ ਦੀ ਸਹੀ специਫਿਕੇਸ਼ਨ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਚਾਹੀਦੇ ਹਨ

Pandas ਕੁਝ ਮੁਖੀ ਧਾਰਣਾਂ 'ਤੇ ਕੇਂਦ੍ਰਿਤ ਹੈ।

ਸੀਰੀਜ਼

ਸੀਰੀਜ਼ ਮੁੱਲਾਂ ਦੀ ਇੱਕ ਲੜੀ ਹੁੰਦੀ ਹੈ, ਜੋ ਲਿਸਟ ਜਾਂ numpy ਐਰੇ ਵਾਂਗ ਹੈ। ਮੁੱਖ ਫਰਕ ਇਹ ਹੈ ਕਿ ਸੀਰੀਜ਼ ਦਾ ਇੱਕ ਇੰਡੈਕਸ ਵੀ ਹੁੰਦਾ ਹੈ, ਤੇ ਜਦੋਂ ਅਸੀਂ ਸੀਰੀਜ਼ਾਂ 'ਤੇ ਕਾਰਵਾਈ ਕਰਦੇ ਹਾਂ (ਜਿਵੇਂ, ਜੋੜਣਾ), ਤਾਂ ਇੰਡੈਕਸ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ। ਇੰਡੈਕਸ ਬਹੁਤ ਸਧਾਰਨ integer ਨੰਬਰ (ਜੋ ਆਮ ਤੌਰ 'ਤੇ लिस्ट ਜਾਂ ਐਰੇ ਤੋਂ ਸੀਰੀਜ਼ ਬਣਾਉਂਦਿਆਂ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ) ਹੋ ਸਕਦਾ ਹੈ ਜਾਂ ਇਹ ਇੱਕ ਜਟਿਲ ਸੰਰਚਨਾ ਵੀ ਹੋ ਸਕਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਤਾਰੀਖ ਦੀ ਕਟੀ।

ਨੋਟ: ਸੱਜੇ ਮੂਸਰ ਨਾਲ ਦਿੱਤੀ ਗਈ ਨੋਟਬੁੱਕ 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 (Not a Number) ਮੁੱਲ ਮਿਲਦੇ। ਇਹ ਇਸ ਕਰਕੇ ਹੈ ਕਿ 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['A'] ਦੇ ਹਰ ਐਲੀਮੈਂਟ ਲਈ ਇਹ ਸਚ ਹੈ ਜਾਂ ਮਿਥਿਆ। ਜਦੋਂ ਭਾਵਨਾਤਮਕ ਸੀਰੀਜ਼ ਨੂੰ ਇੰਡੈਕਸ ਵਜੋਂ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਇਹ ਡਾਟਾ ਫਰੇਮ ਵਿੱਚੋਂ ਸੰਗ੍ਰਹਿਤ ਸਤਰਾਂ ਦੀ ਚੋਣ ਕਰਦਾ ਹੈ। ਇਸ ਕਰਕੇ arbitrary Python boolean expression, ਜਿਵੇਂ 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 ਹੋਵੇ ਤਾਂ "Low" ਨਹੀਂ ਤਾਂ "Hi"
df['LenB'] = len(df['B']) # <- ਗਲਤ ਨਤੀਜਾ

ਪਿਛਲਾ ਉਦਾਹਰਨ, ਜਿਸ ਰੂਪ ਵਿੱਚ syntax ਸਹੀ ਹੈ, ਗਲਤ ਨਤੀਜਾ ਦਿੰਦਾ ਹੈ ਕਿਉਂਕਿ ਇਹ ਸੀਰੀਜ਼ 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]

ਗ੍ਰੂਪ ਕਰਨਾ ਅਕਸਰ Excel ਵਿੱਚ ਪਿਵਟ ਟੇਬਲਾਂ ਵਾਂਗ ਨਤੀਜੇ ਪ੍ਰਾਪਤ ਕਰਨ ਦੇ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਧਰੋ ਕਿ ਅਸੀਂ ਕਾਲਮ A ਦੀ ਔਸਤ ਵੈਲਿਊ LenB ਦੇ ਹਰ ਮੁੱਲ ਲਈ ਕੱਢਣੀ ਹੈ। ਤਾਂ ਸਾਨੂੰ ਆਪਣਾ ਡਾਟਾ ਫਰੇਮ 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 Count Mean
1 1 1.000000
2 1 3.000000
3 2 5.000000
4 3 6.333333
6 2 6.000000

ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰਨਾ

ਅਸੀਂ ਦੇਖਿਆ ਹੈ ਕਿ ਕਿਵੇਂ ਸਹੀ ਢੰਗ ਨਾਲ ਪਾਇਥਨ ਆਬਜੈਕਟਸ ਤੋਂ ਸੀਰੀਜ਼ ਅਤੇ ਡੇਟਾ ਫਰੇਮ ਬਣਾਏ ਜਾ ਸਕਦੇ ਹਨ। ਹਾਲਾਂਕਿ, ਡਾਟਾ ਆਮ ਤੌਰ 'ਤੇ ਇੱਕ ਟੈਕਸਟ ਫਾਈਲ ਜਾਂ ਇਕਸੇਲ ਟੇਬਲ ਦੇ ਰੂਪ ਵਿੱਚ ਆਉਂਦਾ ਹੈ। ਖੁਸ਼ਕਿਸਮਤੀ ਨਾਲ, Pandas ਸਾਨੂੰ ਡਿਸਕ ਤੋਂ ਡਾਟਾ ਲੋਡ ਕਰਨ ਦਾ ਇੱਕ ਸਧਾਰਣ ਤਰੀਕਾ ਦਿੰਦਾ ਹੈ। ਉਦਾਹਰਨ ਵਜੋਂ, CSV ਫਾਈਲ ਪੜ੍ਹਨਾ ਇਹਨਾ ਹੀ ਸੌਖਾ ਹੈ:

df = pd.read_csv('file.csv')

ਅਸੀਂ ਹੋਰ ਉਦਾਹਰਨਾਂ ਵੇਖਾਂਗੇ, ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਬਾਹਰੀ ਵੈੱਬਸਾਈਟਾਂ ਤੋਂ ਡਾਟਾ ਲੈਣਾ ਵੀ ਸ਼ਾਮਲ ਹੈ, "ਚੈਲੇਂਜ" ਸੈਕਸ਼ਨ ਵਿੱਚ

ਪ੍ਰਿੰਟਿੰਗ ਅਤੇ ਪਲੌਟਿੰਗ

ਇੱਕ ਡਾਟਾ ਸਾਇੰਟਿਸਟ ਨੂੰ ਅਕਸਰ ਡਾਟਾ ਦਾ ਪਤਾ ਲਗਾਉਣਾ ਪੈਂਦਾ ਹੈ, ਇਸ ਲਈ ਇਸਨੂੰ ਵਿਜ਼ੂਅਲਾਈਜ਼ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਰੱਖਣਾ ਜਰੂਰੀ ਹੈ। ਜਦੋਂ ਡੇਟਾ ਫਰੇਮ ਵੱਡਾ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਕਈ ਵਾਰੀ ਅਸੀਂ ਸਿਰਫ ਇਕ-ਦੋ ਪਹਿਲੀਆਂ ਕਤਾਰਾਂ ਪ੍ਰਿੰਟ ਕਰ ਕੇ ਯਕੀਨੀ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹਾਂ ਕਿ ਸਾਰਾ ਕੁਝ ਠੀਕ ਚੱਲ ਰਿਹਾ ਹੈ। ਇਹ df.head() ਕਾਲ ਕਰਕੇ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਇਹ ਜੂਪਿਟਰ ਨੋਟਬੁੱਕ ਤੋਂ ਚਲਾ ਰਹੇ ਹੋ, ਤਾਂ ਇਹ ਡੇਟਾ ਫਰੇਮ ਨੂੰ ਇੱਕ ਸੋਹਣੇ ਟੇਬੂਲਰ ਰੂਪ ਵਿੱਚ ਪ੍ਰਿੰਟ ਕਰੇਗਾ।

ਅਸੀਂ plot ਫੰਕਸ਼ਨ ਦੇ ਇਸਤੇਮਾਲ ਨੂੰ ਵੀ ਦੇਖਿਆ ਹੈ ਜੋ ਕੁਝ ਕਾਲਮਾਂ ਨੂੰ ਵਿਜ਼ੂਅਲਾਈਜ਼ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਜਦੋਂ plot ਅਨੇਕ ਕਾਰਜਾਂ ਲਈ ਬਹੁਤ ਲਾਭਦਾਇਕ ਹੈ ਅਤੇ kind= ਪੈਰਾਮੀਟਰ ਰਾਹੀਂ ਕਈ ਵੱਖ-ਵੱਖ ਗ੍ਰਾਫ ਕਿਸਮਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ, ਤਦ ਵੀ ਤੁਹਾਡੇ ਕੋਲ ਅਕਸਰ ਕੁਝ ਹੋਰ ਜਟਿਲ ਪਲੌਟ ਬਣਾਉਣ ਲਈ ਸਿੱਧਾ matplotlib ਲਾਇਬ੍ਰੇਰੀ ਵਰਤਣ ਦਾ ਵਿਕਲਪ ਹੁੰਦਾ ਹੈ। ਅਸੀਂ ਵਿਸਥਾਰ ਨਾਲ ਡਾਟਾ ਵਿਜ਼ੂਅਲਾਈਜੇਸ਼ਨ ਅਲੱਗ ਕੋਰਸ ਪਾਠਾਂ ਵਿੱਚ ਕਵਰ ਕਰਾਂਗੇ।

ਇਹ ਓਵਰਵੀਉ Pandas ਦੇ ਸਭ ਤੋਂ ਜਰੂਰੀ ਅਸੂਲਾਂ ਨੂੰ ਨੂੰ ਸਮੇਟਦਾ ਹੈ, ਫਿਰ ਵੀ ਲਾਇਬ੍ਰੇਰੀ ਬਹੁਤ ਵੱਧ ਸਮਰੱਥ ਹੈ, ਅਤੇ ਤੁਸੀਂ ਇਸ ਨਾਲ ਕਿਤਨਾ ਕੁ ਕਰ ਸਕਦੇ ਹੋ ਇਸ ਦੀ ਕੋਈ ਹੱਦ ਨਹੀਂ ਹੈ! ਆਓ ਹੁਣ ਇਸ ਗਿਆਨ ਨੂੰ ਕਿਸੇ ਵਿਸ਼ੇਸ਼ ਸਮੱਸਿਆ ਦੇ ਹੱਲ ਲਈ ਲਾਗੂ ਕਰੀਏ।

🚀 ਚੈਲੇਂਜ 1: COVID ਫੈਲਾਅ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ

ਪਹਿਲੀ ਸਮੱਸਿਆ ਜਿਸ 'ਤੇ ਅਸੀਂ ਧਿਆਨ ਦੇਵਾਂਗੇ ਉਹ COVID-19 ਦੇ ਮਹਾਂਮਾਰੀ ਫੈਲਾਅ ਦੀ ਮਾਡਲਿੰਗ ਹੈ। ਇਸ ਲਈ ਅਸੀਂ ਵੱਖ-ਵੱਖ ਦੇਸ਼ਾਂ ਵਿੱਚ ਸੰਕ੍ਰਮਿਤ ਵਿਅਕਤੀਆਂ ਦੀ ਗਿਣਤੀ ਵਾਲਾ ਡਾਟਾ ਵਰਤਾਂਗੇ, ਜੋ Center for Systems Science and Engineering (CSSE) ਦੁਆਰਾ Johns Hopkins University ਨੂੰ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। ਡੇਟਾਸੈੱਟ ਇਸ GitHub ਰਿਪੋਜ਼ਟਰੀ ਵਿੱਚ ਉਪਲਬਧ ਹੈ।

ਕਿਉਂਕਿ ਅਸੀਂ ਡਾਟਾ ਨਾਲ ਕਿਵੇਂ ਨਿਬਟਣਾ ਹੈ ਇਹ ਦਿਖਾਉਣਾ ਚਾਹੁੰਦੇ ਹਾਂ, ਇਸ ਲਈ ਅਸੀਂ ਤੁਹਾਨੂੰ ਬੁਲਾਉਂਦੇ ਹਾਂ ਕਿ ਤੁਸੀਂ notebook-covidspread.ipynb ਖੋਲ੍ਹੋ ਅਤੇ ਇਸਨੂੰ ਸਿਰ ਤੋਂ ਅੰਤ ਤੱਕ ਪੜ੍ਹੋ। ਤੁਸੀਂ ਕੋਸ਼ਿਕਾਂ ਚਲਾ ਵੀ ਸਕਦੇ ਹੋ, ਅਤੇ ਕੁਝ ਚੈਲੇਂਜ ਵੀ ਜੋ ਅਸੀਂ ਤੁਹਾਡੇ ਲਈ ਆਖਰ ਵਿੱਚ ਛੱਡੇ ਹਨ।

COVID Spread

ਜੇ ਤੁਸੀਂ ਜੂਪਿਟਰ ਨੋਟਬੁੱਕ ਵਿੱਚ ਕੋਡ ਕਿਵੇਂ ਚਲਾਉਣਾ ਹੈ ਇਹ ਨਹੀਂ ਜਾਣਦੇ, ਤਾਂ ਇਸ ਲੇਖ ਨੂੰ ਵੇਖੋ।

ਬਿਨਾਂ ਸੰਗਠਿਤ ਡੇਟਾ ਨਾਲ ਕੰਮ ਕਰਨਾ

ਹਾਲਾਂਕਿ ਡਾਟਾ ਅਕਸਰ ਟੇਬੂਲਰ ਰੂਪ ਵਿੱਚ ਆਉਂਦਾ ਹੈ, ਕੁਝ ਮਾਮਲਿਆਂ ਵਿੱਚ ਸਾਨੂੰ ਘੱਟ ਸੰਗਠਿਤ ਡਾਟਾ, ਜਿਵੇਂ ਕਿ ਟੈਕਸਟ ਜਾਂ ਫੋਟੋਆਂ ਨਾਲ ਨਿਬਟਣਾ ਪੈਂਦਾ ਹੈ। ਇਸ ਮਾਮਲੇ ਵਿੱਚ, ਉਪਰ ਦਿੱਤੀਆਂ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਤਕਨੀਕਾਂ ਲਾਗੂ ਕਰਨ ਲਈ ਸਾਨੂੰ ਕਿਸੇ ਨਾ ਕਿਸੇ ਤਰੀਕੇ ਨਾਲ ਸੰਗਠਿਤ ਡੇਟਾ ਨਿਕਾਲਣਾ ਪੈਂਦਾ ਹੈ। ਹੇਠਾਂ ਕੁਝ ਉਦਾਹਰਨਾਂ ਹਨ:

  • ਟੈਕਸਟ ਵਿੱਚੋਂ ਕੀਵਰਡ ਨਿਕਾਲ ਕੇ ਵੇਖਣਾ ਕਿ ਉਹ ਕੀਵਰਡ ਕਿੰਨੀ ਵਾਰੀ ਆ ਰਹੇ ਹਨ
  • ਤਸਵੀਰ 'ਤੇ ਵਸਤੂਆਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਲੈਣ ਲਈ ਨਿਊਰਲ ਨੈੱਟਵਰਕ ਦੀ ਵਰਤੋਂ ਕਰਨਾ
  • ਵੀਡੀਓ ਕੈਮਰਾ ਫੀਡ ਵਿੱਚ ਲੋਕਾਂ ਦੇ ਜਜ਼ਬਾਤ ਬਾਰੇ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰਨਾ

🚀 ਚੈਲੇਂਜ 2: COVID ਪੇਪਰਾਂ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ

ਇਸ ਚੈਲੇਂਜ ਵਿੱਚ, ਅਸੀਂ COVID ਮਹਾਂਮਾਰੀ ਦੇ ਵਿਸ਼ੇ 'ਤੇ ਸਾਇੰਟਿਫਿਕ ਪੇਪਰਾਂ ਨੂੰ ਪ੍ਰਕਿਰਿਆਵਤ ਕਰਨ 'ਤੇ ਧਿਆਨ ਦੇਵਾਂਗੇ। CORD-19 Dataset ਇੱਕ ਅਜਿਹਾ ਡੇਟਾਸੈੱਟ ਹੈ ਜਿਸ ਵਿੱਚ COVID 'ਤੇ ਲਿਖੇ 7000 ਤੋਂ ਵੱਧ (ਲਿਖਣ ਵੇਲੇ) ਪੇਪਰ ਹਨ, ਜੋ ਮੈਟਾਡੇਟਾ ਅਤੇ ਸੰਛੇਪਾਂ ਨਾਲ ਉਪਲਬਧ ਹਨ (ਅਤੇ ਉਨ੍ਹਾਂ ਦੇ ਲਗਭਗ ਅੱਧੇ ਲਈ ਪੂਰਾ ਟੈਕਸਟ ਵੀ ਮੌਜੂਦ ਹੈ)।

ਇਸ ਡੇਟਾਸੈੱਟ ਦਾ ਪ੍ਰਯੋਗ ਕਰਦੇ ਹੋਏ Text Analytics for Health ਕਗਨਿਟਿਵ ਸਰਵਿਸ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਸ ਡਾਟਾ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨ ਦੀ ਪੂਰੀ ਉਦਾਹਰਨ ਇਸ ਬਲੌਗ ਪੋਸਟ ਵਿੱਚ ਦਿੱਤੀ ਗਈ ਹੈ। ਅਸੀਂ ਇਸ ਵਿਸ਼ਲੇਸ਼ਣ ਦਾ ਸਰਲ ਸੰਸਕਰਨ ਚਰਚਾ ਕਰਾਂਗੇ।

NOTE: ਅਸੀਂ ਇਸ ਰਿਪੋਜ਼ਟਰੀ ਦੇ ਹਿੱਸੇ ਵਜੋਂ ਡੇਟਾਸੈੱਟ ਦੀ ਨਕਲ ਪ੍ਰਦਾਨ ਨਹੀਂ ਕਰਦੇ। ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ ਇਸ Kaggle ਡੇਟਾਸੈੱਟ ਤੋਂ metadata.csv ਫਾਈਲ ਡਾਊਨਲੋਡ ਕਰਨੀ ਪੈ ਸਕਦੀ ਹੈ। Kaggle ਨਾਲ ਰਜਿਸਟਰੇਸ਼ਨ ਲਾਜ਼ਮੀ ਹੋ ਸਕਦੀ ਹੈ। ਤੁਸੀਂ ਬਿਨਾ ਰਜਿਸਟਰੇਸ਼ਨ ਦੇ ਵੀ ਇੱਥੋਂ ਡੇਟਾਸੈੱਟ ਡਾਉਨਲੋਡ ਕਰ ਸਕਦੇ ਹੋ, ਪਰ ਇਹ ਮੈਟਾਡੇਟਾ ਫਾਈਲ ਦੇ ਨਾਲ ਸਾਰੀ ਪੂਰੀ ਟੈਕਸਟ ਵੀ ਸ਼ਾਮਲ ਕਰੇਗਾ।

notebook-papers.ipynb ਖੋਲ੍ਹੋ ਅਤੇ ਸਿਰ ਤੋਂ ਅੰਤ ਤੱਕ ਪੜ੍ਹੋ। ਤੁਸੀਂ ਕੋਸ਼ਿਕਾਂ ਚਲਾ ਸਕਦੇ ਹੋ ਅਤੇ ਉਹ ਚੈਲੇਂਜ ਵੀ ਜੋ ਅਸੀਂ ਤੁਹਾਡੇ ਲਈ ਆਖਰ ਵਿੱਚ ਛੱਡੇ ਹਨ।

Covid Medical Treatment

ਇਮੀਜ ਡੇਟਾ ਪ੍ਰੋਸੈਸਿੰਗ

ਹਾਲ ਹੀ ਵਿੱਚ, ਬਹੁਤ ਸ਼ਕਤੀਸ਼ਾਲੀ AI ਮਾਡਲ ਵਿਕਸਿਤ ਕੀਤੇ ਗਏ ਹਨ ਜੋ ਸਾਡੇ ਲਈ ਤਸਵੀਰਾਂ ਨੂੰ ਸਮਝਣਾ ਸੌਖਾ ਕਰ ਦਿੰਦੇ ਹਨ। ਕਈ ਕੰਮ ਪੂਰਵ-ਤਿਆਰ ਨਿਊਰਲ ਨੈੱਟਵਰਕ ਜਾਂ ਕਲਾਉਡ ਸਰਵਿਸਜ਼ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਹੱਲ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ। ਕੁਝ ਉਦਾਹਰਨਾਂ ਹਨ:

  • ਈਮੀਜ ਵਰਗੀਕਰਨ (Image Classification), ਜੋ ਤੁਹਾਡੇ ਲਈ ਤਸਵੀਰ ਨੂੰ ਪਹਿਲਾਂ ਤੋਂ ਨਿਰਧਾਰਿਤ ਕਿਸੇ ਇੱਕ ਵਰਗ ਵਿੱਚ ਵੰਡਣ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰ ਸਕਦਾ ਹੈ। ਤੁਸੀਂ ਬਹੁਤ ਆਸਾਨੀ ਨਾਲ Custom Vision ਵਰਗੀਆਂ ਸਰਵਿਸਜ਼ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਆਪਣੀ ਆਪਣੀ ਇਮੀਜ ਵਰਗੀਕਰਨ ਮਸ਼ੀਨ ਟ੍ਰੇਨ ਕਰ ਸਕਦੇ ਹੋ।
  • ਵਸਤੂਆਂ ਦੀ ਪਹਿਚਾਣ (Object Detection), ਜੋ ਤਸਵੀਰ ਵਿੱਚ ਵੱਖ-ਵੱਖ ਵਸਤੂਆਂ ਦੀ ਪਹਿਚਾਣ ਕਰਦਾ ਹੈ। ਕੰਪਿютਰ ਵਿਜ਼ਨ ਵਰਗੀਆਂ ਸਰਵਿਸਜ਼ ਮੁਲਕਣ ਵਸਤੂਆਂ ਦੀ ਪਹਿਚਾਣ ਕਰਦੀਆਂ ਹਨ ਅਤੇ ਤੁਸੀਂ Custom Vision ਮਾਡਲ ਨੂੰ ਕੁਝ ਵਿਸ਼ੇਸ਼ ਵਸਤੂਆਂ ਦੀ ਪਹਿਚਾਣ ਲਈ ਟ੍ਰੇਨ ਕਰ ਸਕਦੇ ਹੋ।
  • ਚਿਹਰਾ ਪਹਿਚਾਣ (Face Detection), ਜਿਸ ਵਿੱਚ ਉਮਰ, ਲਿੰਗ ਅਤੇ ਜਜ਼ਬਾਤੀ ਹਾਲਤ ਦੀ ਪਛਾਣ ਵੀ ਸ਼ਾਮਲ ਹੈ। ਇਹ Face API ਰਾਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।

ਇਹ ਸਾਰੇ ਕਲਾਉਡ ਸਰਵਿਸਜ਼ Python SDKs ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਬੁਲਾਏ ਜਾ ਸਕਦੇ ਹਨ, ਇਸ ਲਈ ਉਹ ਤੁਹਾਡੇ ਡਾਟਾ ਖੋਜ ਵਰਕਫਲੋਅ ਵਿੱਚ ਆਸਾਨੀ ਨਾਲ ਸ਼ਾਮਲ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ।

ਇੱਥੇ ਕੁਝ ਉਦਾਹਰਨਾਂ ਹਨ ਜਿਹੜੇ ਇਮੀਜ ਡਾਟਾ ਸਰੋਤਾਂ ਤੋਂ ਡਾਟਾ ਖੋਜਣ ਦੀਆਂ ਹਨ:

  • ਬਲੌਗ ਪੋਸਟ How to Learn Data Science without Coding ਵਿੱਚ ਅਸੀਂ Instagram ਦੀਆਂ ਤਸਵੀਰਾਂ ਨੂੰ ਅਨਾਲਾਈਜ਼ ਕਰ ਰਹੇ ਹਾਂ, ਇਹ ਜਾਣਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹੋਏ ਕਿ ਲੋਕ ਕਿਸ ਤਰ੍ਹਾਂ ਇੱਕ ਫੋਟੋ ਨੂੰ ਵੱਧ ਲਾਈਕ ਦਿੰਦੇ ਹਨ। ਅਸੀਂ ਪਹਿਲਾਂ ਕੰਪਿютਰ ਵਿਜ਼ਨ ਵੱਲੋਂ ਤਸਵੀਰਾਂ ਤੋਂ ਜਿੰਨੀ ਜਾਣਕਾਰੀ ਮਿਲ ਸਕੇ ਨਿਕਾਲੀ, ਅਤੇ ਫਿਰ Azure Machine Learning AutoML ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵਿਆਖਿਆਯੋਗ ਮਾਡਲ ਬਣਾਇਆ।
  • Facial Studies Workshop ਵਿੱਚ, ਅਸੀਂ Face API ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਵੈਂਟਾਂ ਤੋਂ ਫੋਟੋਆਂ ਵਿੱਚ ਲੋਕਾਂ ਦੇ ਜਜ਼ਬਾਤ ਨਿਕਾਲਦੇ ਹਾਂ ਤਾਂ ਜੋ ਜਾਣ ਸਕੀਏ ਕਿ ਲੋਕਾਂ ਨੂੰ ਖੁਸ਼ ਕਿਵੇਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।

ਨਤੀਜਾ

ਤੁਹਾਡੇ ਕੋਲ ਚਾਹੇ ਸੰਗਠਿਤ (structured) ਜਾਂ ਬਿਨਾਂ ਸੰਗਠਿਤ (unstructured) ਡਾਟਾ ਹੀ ਕਿਉਂ ਨਾ ਹੋਵੇ, ਪਾਇਥਨ ਦੀ ਵਰਤੋਂ ਨਾਲ ਤੁਸੀਂ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਅਤੇ ਸਮਝਣ ਨਾਲ ਜੁੜੇ ਸਾਰੇ ਪਐਮਲੇ ਕਰ ਸਕਦੇ ਹੋ। ਇਹ ਸੰਭਵ ਤੌਰ 'ਤੇ ਡਾਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਦਾ ਸਭ ਤੋਂ ਲਚਕੀਲਾ ਤਰੀਕਾ ਹੈ ਅਤੇ ਇਸੀ ਕਾਰਨ ਬਹੁਤ ਸਾਰੇ ਡਾਟਾ ਸਾਇੰਟਿਸਟ ਪਾਇਥਨ ਨੂੰ ਆਪਣਾ ਮੁੱਖ ਸੰਦ ਮੰਨਦੇ ਹਨ। ਜੇ ਤੁਸੀਂ ਆਪਣੇ ਡਾਟਾ ਸਾਇੰਸ ਯਾਤਰਾ ਨੂੰ ਗੰਭੀਰਤਾ ਨਾਲ ਲੈ ਰਹੇ ਹੋ ਤਾਂ ਪਾਇਥਨ ਨੂੰ ਡੂੰਘਾਈ ਨਾਲ ਸਿੱਖਣਾ ਇੱਕ ਚੰਗਾ ਵਿਚਾਰ ਹੈ!

ਪੋਸਟ-ਲੈਕਚਰ ਕਵਿਜ਼

ਸਮੀਖਿਆ ਅਤੇ ਖੁਦ ਅਧਿਐਨ

ਕਿਤਾਬਾਂ

ਆਨਲਾਈਨ ਸਰੋਤ

ਪਾਇਥਨ ਸਿੱਖਣਾ

ਅਸਾਈਨਮੈਂਟ

ਉਪਰ ਦਿੱਤੇ ਚੈਲੇਂਜਾਂ ਲਈ ਹੋਰ ਵਿਸਥਾਰ ਵਾਲਾ ਡਾਟਾ ਅਧਿਐਨ ਕਰੋ

ਸਹਿਯੋਗ

ਇਹ ਪਾਠ ♥️ ਨਾਲ ਦਿਮਿਤਰੀ ਸੋਸ਼ਨਿਕੋਵ ਵੱਲੋਂ ਲਿਖਿਆ ਗਿਆ ਹੈ।


ਅਸਵੀਕਾਰੋਪਣ: ਇਸ ਦਸਤਾਵੇਜ਼ ਦਾ ਅਨੁਵਾਦ ਏਆਈ ਅਨੁਵਾਦ ਸੇਵਾ Co-op Translator ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀਤਾਵਾਂ ਲਈ ਯਤਨਸ਼ੀਲ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਰੱਖੋ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸਮੱਤਿਆਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਆਪਣੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਅਧਿਕਾਰਕ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਜਰੂਰੀ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਅਸੀਂ ਇਸ ਅਨੁਵਾਦ ਦੇ ਉਪਯੋਗ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੀਆਂ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀਆਂ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆਵਾਂ ਲਈ ਜਵਾਬਦੇਹ ਨਹੀਂ ਹਾਂ।