اردو زبان میں 10 منٹ میں پانڈا سیکھیں۔

 کے لیے 10 منٹ Pandas

یہ پانڈا کا ایک مختصر تعارف ہے، جو بنیادی طور پر نئے صارفین کے لیے تیار کیا گیا ہے۔ آپ کک بک میں مزید پیچیدہ ترکیبیں دیکھ سکتے ہیں۔


حسب ضرورت، ہم درج ذیل درآمد کرتے ہیں:

In [1]: import numpy as np

In [2]: import pandas as pd

پانڈوں میں ڈیٹا کے بنیادی ڈھانچے

سیریز: کسی بھی قسم کا ڈیٹا رکھنے والی ایک جہتی لیبل والی صف
جیسے کہ عدد، تار، ازگر کی اشیاء وغیرہ۔
ڈیٹا فریم: ایک دو جہتی ڈیٹا ڈھانچہ جس میں ڈیٹا ہوتا ہے جیسے دو جہتی سرنی یا قطاروں اور کالموں والی میز۔

آبجیکٹ کی تخلیق

ڈیٹا ڈھانچے کا تعارف سیکشن دیکھیں۔


اقدار کی فہرست پاس کر کے ایک سیریز بنانا، پانڈوں کو ڈیفالٹ رینج انڈیکس بنانے دینا۔

In [3]: s = pd.Series([1, 3, 5, np.nan, 6, 8])

In [4]: s
Out[4]: 
0    1.0
1    3.0
2    5.0
3    NaN
4    6.0
5    8.0
dtype: float64

date_range() اور لیبل والے کالمز کا استعمال کرتے ہوئے ڈیٹ ٹائم انڈیکس کے ساتھ NumPy سرنی کو پاس کرکے ڈیٹا فریم بنانا:

In [5]: dates = pd.date_range("20130101", periods=6)

In [6]: dates
Out[6]: 
DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04',
               '2013-01-05', '2013-01-06'],
              dtype='datetime64[ns]', freq='D')

In [7]: df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list("ABCD"))

In [8]: df
Out[8]: 
                   A         B         C         D
2013-01-01  0.469112 -0.282863 -1.509059 -1.135632
2013-01-02  1.212112 -0.173215  0.119209 -1.044236
2013-01-03 -0.861849 -2.104569 -0.494929  1.071804
2013-01-04  0.721555 -0.706771 -1.039575  0.271860
2013-01-05 -0.424972  0.567020  0.276232 -1.087401
2013-01-06 -0.673690  0.113648 -1.478427  0.524988

اشیاء کی ایک لغت کو پاس کرکے ڈیٹا فریم بنانا جہاں کلیدیں کالم لیبل ہیں اور اقدار کالم کی قدریں ہیں۔

In [9]: df2 = pd.DataFrame(
   ...:     {
   ...:         "A": 1.0,
   ...:         "B": pd.Timestamp("20130102"),
   ...:         "C": pd.Series(1, index=list(range(4)), dtype="float32"),
   ...:         "D": np.array([3] * 4, dtype="int32"),
   ...:         "E": pd.Categorical(["test", "train", "test", "train"]),
   ...:         "F": "foo",
   ...:     }
   ...: )
   ...: 

In [10]: df2
Out[10]: 
     A          B    C  D      E    F
0  1.0 2013-01-02  1.0  3   test  foo
1  1.0 2013-01-02  1.0  3  train  foo
2  1.0 2013-01-02  1.0  3   test  foo
3  1.0 2013-01-02  1.0  3  train  foo

نتیجے میں ڈیٹا فریم کے کالم مختلف قسم کے ہیں:

In [11]: df2.dtypes
Out[11]: 
A          float64
B    datetime64[s]
C          float32
D            int32
E         category
F           object
dtype: object

اگر آپ IPython استعمال کر رہے ہیں، تو کالم کے ناموں کے لیے ٹیب کی تکمیل (نیز عوامی صفات) خود بخود فعال ہو جاتی ہے۔ یہاں ان صفات کا ایک ذیلی سیٹ ہے جو مکمل ہو جائے گا:

In [12]: df2.<TAB>  # noqa: E225, E999
df2.A                  df2.bool
df2.abs                df2.boxplot
df2.add                df2.C
df2.add_prefix         df2.clip
df2.add_suffix         df2.columns
df2.align              df2.copy
df2.all                df2.count
df2.any                df2.combine
df2.append             df2.D
df2.apply              df2.describe
df2.applymap           df2.diff
df2.B                  df2.duplicated

جیسا کہ آپ دیکھ سکتے ہیں، کالم A، B، C، اور D خود بخود ٹیب مکمل ہو جاتے ہیں۔ E اور F بھی ہیں؛ بقیہ صفات اختصار کے پیش نظر کاٹ دی گئی ہیں۔

ڈیٹا دیکھنا

In [13]: df.head()
Out[13]: 
                   A         B         C         D
2013-01-01  0.469112 -0.282863 -1.509059 -1.135632
2013-01-02  1.212112 -0.173215  0.119209 -1.044236
2013-01-03 -0.861849 -2.104569 -0.494929  1.071804
2013-01-04  0.721555 -0.706771 -1.039575  0.271860
2013-01-05 -0.424972  0.567020  0.276232 -1.087401

In [14]: df.tail(3)
Out[14]: 
                   A         B         C         D
2013-01-04  0.721555 -0.706771 -1.039575  0.271860
2013-01-05 -0.424972  0.567020  0.276232 -1.087401
2013-01-06 -0.673690  0.113648 -1.478427  0.524988

DataFrame.index یا DataFrame.columns دکھائیں:

In [15]: df.index
Out[15]: 
DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04',
               '2013-01-05', '2013-01-06'],
              dtype='datetime64[ns]', freq='D')

In [16]: df.columns
Out[16]: Index(['A', 'B', 'C', 'D'], dtype='object')

انڈیکس یا کالم لیبل کے بغیر DataFrame.to_numpy() کے ساتھ بنیادی ڈیٹا کی NumPy نمائندگی واپس کریں:

In [17]: df.to_numpy()
Out[17]: 
array([[ 0.4691, -0.2829, -1.5091, -1.1356],
       [ 1.2121, -0.1732,  0.1192, -1.0442],
       [-0.8618, -2.1046, -0.4949,  1.0718],
       [ 0.7216, -0.7068, -1.0396,  0.2719],
       [-0.425 ,  0.567 ,  0.2762, -1.0874],
       [-0.6737,  0.1136, -1.4784,  0.525 ]])

NumPy arrays میں پوری صف کے لیے ایک dtype ہے جبکہ pandas DataFrames میں فی کالم ایک dtype ہے۔ جب آپ DataFrame.to_numpy() کو کال کریں گے، تو پانڈوں کو NumPy dtype ملے گا جو DataFrame میں تمام dtypes کو رکھ سکتا ہے۔ اگر عام ڈیٹا کی قسم آبجیکٹ ہے، تو DataFrame.to_numpy() کو ڈیٹا کاپی کرنے کی ضرورت ہوگی۔

In [18]: df2.dtypes
Out[18]: 
A          float64
B    datetime64[s]
C          float32
D            int32
E         category
F           object
dtype: object

In [19]: df2.to_numpy()
Out[19]: 
array([[1.0, Timestamp('2013-01-02 00:00:00'), 1.0, 3, 'test', 'foo'],
       [1.0, Timestamp('2013-01-02 00:00:00'), 1.0, 3, 'train', 'foo'],
       [1.0, Timestamp('2013-01-02 00:00:00'), 1.0, 3, 'test', 'foo'],
       [1.0, Timestamp('2013-01-02 00:00:00'), 1.0, 3, 'train', 'foo']],
      dtype=object)

describe() آپ کے ڈیٹا کا فوری اعدادوشمار کا خلاصہ دکھاتا ہے۔

In [20]: df.describe()
Out[20]: 
              A         B         C         D
count  6.000000  6.000000  6.000000  6.000000
mean   0.073711 -0.431125 -0.687758 -0.233103
std    0.843157  0.922818  0.779887  0.973118
min   -0.861849 -2.104569 -1.509059 -1.135632
25%   -0.611510 -0.600794 -1.368714 -1.076610
50%    0.022070 -0.228039 -0.767252 -0.386188
75%    0.658444  0.041933 -0.034326  0.461706
max    1.212112  0.567020  0.276232  1.071804

اپنا ڈیٹا منتقل کرنا:

In [21]: df.T
Out[21]: 
   2013-01-01  2013-01-02  2013-01-03  2013-01-04  2013-01-05  2013-01-06
A    0.469112    1.212112   -0.861849    0.721555   -0.424972   -0.673690
B   -0.282863   -0.173215   -2.104569   -0.706771    0.567020    0.113648
C   -1.509059    0.119209   -0.494929   -1.039575    0.276232   -1.478427
D   -1.135632   -1.044236    1.071804    0.271860   -1.087401    0.524988

DataFrame.sort_index() ایک محور کے حساب سے ترتیب دیتا ہے:

In [22]: df.sort_index(axis=1, ascending=False)
Out[22]: 
                   D         C         B         A
2013-01-01 -1.135632 -1.509059 -0.282863  0.469112
2013-01-02 -1.044236  0.119209 -0.173215  1.212112
2013-01-03  1.071804 -0.494929 -2.104569 -0.861849
2013-01-04  0.271860 -1.039575 -0.706771  0.721555
2013-01-05 -1.087401  0.276232  0.567020 -0.424972
2013-01-06  0.524988 -1.478427  0.113648 -0.673690

DataFrame.sort_values() قدروں کے لحاظ سے ترتیب دیتا ہے:

In [23]: df.sort_values(by="B")
Out[23]: 
                   A         B         C         D
2013-01-03 -0.861849 -2.104569 -0.494929  1.071804
2013-01-04  0.721555 -0.706771 -1.039575  0.271860
2013-01-01  0.469112 -0.282863 -1.509059 -1.135632
2013-01-02  1.212112 -0.173215  0.119209 -1.044236
2013-01-06 -0.673690  0.113648 -1.478427  0.524988
2013-01-05 -0.424972  0.567020  0.276232 -1.087401
 


 

Comments

Popular posts from this blog

Brazil's Supreme Court to vote on decriminalising abortion

Inside India’s lab-grown diamond industry

US to give Ukraine long-range missiles, reports say