##### NUMPY EXERCISE
In [3]:
import numpy as np


# Numpy Exercises - Week-8¶

### my experiments with exercise¶

In [4]:
scores = np.loadtxt("/content/cric_data.tsv", skiprows = 1)


#### split dataset based on player¶

In [133]:
sac = np.loadtxt("/content/cric_data.tsv", skiprows = 1, usecols = 1)

In [6]:
rah = np.loadtxt("/content/cric_data.tsv", skiprows = 1, usecols = 2)

In [7]:
ind = np.loadtxt("/content/cric_data.tsv", skiprows = 1, usecols = 3)

In [ ]:
scores

In [ ]:
np.min(scores)

Out[ ]:
0.0
In [ ]:
np.mean(scores)

Out[ ]:
101.18333333333334
In [ ]:
np.median(scores)

Out[ ]:
69.5

#### Inter quartile range for datasets¶

In [ ]:
iqr = np.percentile(scores, 75) - np.percentile(scores, 25)

In [ ]:
print(iqr)

153.0

In [ ]:
iqr = np.percentile(scores, [75, 25])

In [ ]:
print(iqr)

[171.  18.]

In [ ]:
print(iqr[0] - iqr[1])

153.0

In [ ]:
np.mean(sac)

Out[ ]:
39.87555555555556
In [ ]:
np.mean(rah)

Out[ ]:
32.062222222222225
In [ ]:
np.mean(ind)

Out[ ]:
220.79555555555555
In [ ]:
sac_iqr = np.percentile(sac, [75, 25])

In [ ]:
sach_iqr = sac_iqr[0] - sac_iqr[1]

In [ ]:
print(sach_iqr)

57.0

In [ ]:
np.median(sac)

Out[ ]:
27.0
In [ ]:
print(np.percentile(sac, 50))

27.0

In [ ]:
print(np.mean(rah))

32.062222222222225

In [ ]:
print(np.median(rah))

22.0

In [ ]:
rah_iqrs = np.percentile(rah, [75, 25])

In [ ]:
print(rah_iqrs[0] - rah_iqrs[1])

46.0


#### Q2. histogram for India dataset¶

In [ ]:
np.histogram(sac, 10)

Out[ ]:
(array([99, 36, 28, 16, 11, 17,  8,  8,  1,  1]),
array([  0. ,  18.6,  37.2,  55.8,  74.4,  93. , 111.6, 130.2, 148.8,
167.4, 186. ]))
In [ ]:
np.histogram(rah, 4)

Out[ ]:
(array([147,  57,  18,   3]), array([  0.  ,  38.25,  76.5 , 114.75, 153.  ]))
In [ ]:
np.histogram(ind, 20)

Out[ ]:
(array([ 6,  2,  2,  1,  7, 17, 20, 26, 41, 30, 19, 22, 15,  6,  4,  3,  2,
0,  1,  1]),
array([  0.  ,  24.95,  49.9 ,  74.85,  99.8 , 124.75, 149.7 , 174.65,
199.6 , 224.55, 249.5 , 274.45, 299.4 , 324.35, 349.3 , 374.25,
399.2 , 424.15, 449.1 , 474.05, 499.  ]))
In [ ]:
np.split?


#### Q3. split array into groups (in this case - 25) on sacs data¶

In [ ]:
np.split(sac, 5)

Out[ ]:
[array([100.,  11.,   8.,  71., 104.,  18.,   8.,  86.,  12.,  85.,  18.,
4.,   7.,  37.,  14.,   0.,   4.,   0.,  21.,   1.,  62.,   0.,
138.,  38.,   2.,  46.,  65.,   0.,  39.,  48., 141.,  62.,  12.,
1.,  41.,  11.,   3., 186.,  11.,  27.,  27.,  51.,  18.,  32.,
146.]),
array([  5.,  45., 141.,  12.,  65.,  27.,   7.,  16.,   2.,  28.,   6.,
123., 120.,   7.,   3.,   0.,  81.,   2.,  54., 122.,   4.,  14.,
0., 100.,  15.,   0.,  57.,  99.,  37.,  38.,  32.,  21.,  32.,
40.,   0.,   5.,   8.,   5.,   0.,  50.,  30.,  37.,  89.,   4.,
98.]),
array([ 83.,  93.,   0.,  52., 152.,   1.,   8.,  93.,  45.,  26.,   0.,
1.,   0.,  16.,  47.,  89.,   3.,   1.,  53.,  16.,   0.,  81.,
14.,  78.,   6., 105., 122.,   9.,   8.,  28.,  35.,  69.,  13.,
97.,  93.,   2.,  36.,  39.,   2.,  29.,  12.,  19.,  34.,   2.,
100.]),
array([ 44.,  82.,   0.,  79.,   6.,   9.,   8.,  23.,  93.,  35.,  63.,
74.,   8., 117.,  39.,  49.,  64.,  43.,  72.,   5.,  17.,   0.,
65.,  20., 141.,  28.,  44.,  27.,  60.,  68.,   3., 139.,  31.,
2.,  44.,  47.,   6.,  17.,  35.,  88., 114.,   7., 127.,   0.,
45.]),
array([ 33., 110., 146.,   7.,  25.,   9.,   2.,  11.,  17.,  14.,   1.,
45.,  94.,  28.,   4.,  62.,   1.,   9.,  67.,  10.,  99.,  55.,
0.,   1., 101.,   2.,   1.,  16., 140.,  23., 113.,  10.,   1.,
41.,   1.,  28.,   2.,  22.,  29.,   1.,  25., 102.,   0.,  27.,
40.])]
In [ ]:
sac25grp = np.split(sac, 25)

In [ ]:
sac25grp

Out[ ]:
[array([100.,  11.,   8.,  71., 104.,  18.,   8.,  86.,  12.]),
array([85., 18.,  4.,  7., 37., 14.,  0.,  4.,  0.]),
array([ 21.,   1.,  62.,   0., 138.,  38.,   2.,  46.,  65.]),
array([  0.,  39.,  48., 141.,  62.,  12.,   1.,  41.,  11.]),
array([  3., 186.,  11.,  27.,  27.,  51.,  18.,  32., 146.]),
array([  5.,  45., 141.,  12.,  65.,  27.,   7.,  16.,   2.]),
array([ 28.,   6., 123., 120.,   7.,   3.,   0.,  81.,   2.]),
array([ 54., 122.,   4.,  14.,   0., 100.,  15.,   0.,  57.]),
array([99., 37., 38., 32., 21., 32., 40.,  0.,  5.]),
array([ 8.,  5.,  0., 50., 30., 37., 89.,  4., 98.]),
array([ 83.,  93.,   0.,  52., 152.,   1.,   8.,  93.,  45.]),
array([26.,  0.,  1.,  0., 16., 47., 89.,  3.,  1.]),
array([ 53.,  16.,   0.,  81.,  14.,  78.,   6., 105., 122.]),
array([ 9.,  8., 28., 35., 69., 13., 97., 93.,  2.]),
array([ 36.,  39.,   2.,  29.,  12.,  19.,  34.,   2., 100.]),
array([44., 82.,  0., 79.,  6.,  9.,  8., 23., 93.]),
array([ 35.,  63.,  74.,   8., 117.,  39.,  49.,  64.,  43.]),
array([ 72.,   5.,  17.,   0.,  65.,  20., 141.,  28.,  44.]),
array([ 27.,  60.,  68.,   3., 139.,  31.,   2.,  44.,  47.]),
array([  6.,  17.,  35.,  88., 114.,   7., 127.,   0.,  45.]),
array([ 33., 110., 146.,   7.,  25.,   9.,   2.,  11.,  17.]),
array([14.,  1., 45., 94., 28.,  4., 62.,  1.,  9.]),
array([ 67.,  10.,  99.,  55.,   0.,   1., 101.,   2.,   1.]),
array([ 16., 140.,  23., 113.,  10.,   1.,  41.,   1.,  28.]),
array([  2.,  22.,  29.,   1.,  25., 102.,   0.,  27.,  40.])]
In [ ]:
np.median(sac25grp[0])

Out[ ]:
18.0
In [ ]:
np.median(sac25grp[1])

Out[ ]:
7.0
In [ ]:
print(np.mean(sac25grp))

39.87555555555556

In [ ]:
print(np.mean(sac25grp[0:24]))

40.388888888888886


#### to get mean for each element in the array that is split into 25 subgroups - without traditional for loop¶

In [ ]:
sac25grp_mean = [np.mean(i) for i in sac25grp]

In [ ]:
sac25grp_mean

Out[ ]:
[46.44444444444444,
18.77777777777778,
41.44444444444444,
39.44444444444444,
55.666666666666664,
35.55555555555556,
41.111111111111114,
40.666666666666664,
33.77777777777778,
35.666666666666664,
58.55555555555556,
20.333333333333332,
52.77777777777778,
39.333333333333336,
30.333333333333332,
38.22222222222222,
54.666666666666664,
43.55555555555556,
46.77777777777778,
48.77777777777778,
40.0,
28.666666666666668,
37.333333333333336,
41.44444444444444,
27.555555555555557]
In [ ]:
print([np.mean(i) for i in sac25grp])

[46.44444444444444, 18.77777777777778, 41.44444444444444, 39.44444444444444, 55.666666666666664, 35.55555555555556, 41.111111111111114, 40.666666666666664, 33.77777777777778, 35.666666666666664, 58.55555555555556, 20.333333333333332, 52.77777777777778, 39.333333333333336, 30.333333333333332, 38.22222222222222, 54.666666666666664, 43.55555555555556, 46.77777777777778, 48.77777777777778, 40.0, 28.666666666666668, 37.333333333333336, 41.44444444444444, 27.555555555555557]

In [ ]:
print([np.median(i) for i in sac25grp])

[18.0, 7.0, 38.0, 39.0, 27.0, 16.0, 7.0, 15.0, 32.0, 30.0, 52.0, 3.0, 53.0, 28.0, 29.0, 23.0, 49.0, 28.0, 44.0, 35.0, 17.0, 14.0, 10.0, 23.0, 25.0]

In [ ]:
rah25grp = np.split(rah, 25)

In [ ]:
rah25grp

Out[ ]:
[array([ 78.,  62.,  85.,  24.,  17., 104.,  76.,  74.,  60.]),
array([ 12.,  63., 107.,  76.,   4.,   5.,  33.,   7.,   0.]),
array([ 36.,  66.,   0., 123.,  39.,   9.,  11.,  14.,   0.]),
array([ 0., 26.,  4., 48.,  7., 73., 86., 32., 82.]),
array([ 25., 153.,  26.,   1.,   6.,   3.,   1.,  39.,  30.]),
array([32., 84., 36., 31.,  0., 47., 13., 49., 28.]),
array([  0.,  28.,  19.,  13.,  14.,  11., 103.,  43.,   5.]),
array([ 5., 15.,  0.,  5., 30.,  4., 53., 60.,  7.]),
array([74., 71., 54., 13., 69., 33., 29.,  2.,  8.]),
array([ 36.,  51.,   8.,  62.,   0.,  22.,  39., 104.,  44.]),
array([ 1.,  2.,  0., 17.,  0., 14., 62., 15., 68.]),
array([17.,  0., 22., 25., 29., 60., 34., 65.,  3.]),
array([ 7., 16.,  0.,  4., 53.,  5., 23., 82.,  3.]),
array([ 0., 20., 21., 80., 22.,  8., 18., 24., 50.]),
array([ 1., 42., 61.,  0.,  6., 64.,  9., 46.,  0.]),
array([ 0.,  0.,  0., 13.,  0., 72., 12., 38., 79.]),
array([18., 16., 16., 56., 21., 58.,  8.,  0.,  0.]),
array([ 7., 13., 77., 29., 20., 90., 26., 54., 17.]),
array([78., 57., 59., 10., 15., 54., 52.,  9.,  0.]),
array([18.,  3.,  4.,  6., 16., 71., 64.,  7., 61.]),
array([ 1.,  7.,  0.,  0., 26., 19., 63.,  3., 46.]),
array([31., 12., 49.,  4., 99., 47., 56., 73., 74.]),
array([ 31.,  29.,  92.,   1.,   0.,  30.,  16., 145.,  22.]),
array([ 31., 104.,  20.,  13.,  52.,  31.,  12.,  50.,   3.]),
array([ 9., 53., 49., 21., 14., 50., 22.,  0.,  0.])]
In [ ]:
rah25grp_median = [np.median(i) for i in rah25grp]

In [ ]:
rah25grp_median

Out[ ]:
[74.0,
12.0,
14.0,
32.0,
25.0,
32.0,
14.0,
7.0,
33.0,
39.0,
14.0,
25.0,
7.0,
21.0,
9.0,
12.0,
16.0,
26.0,
52.0,
16.0,
7.0,
49.0,
29.0,
31.0,
21.0]
In [ ]:
sac

Out[ ]:
array([100.,  11.,   8.,  71., 104.,  18.,   8.,  86.,  12.,  85.,  18.,
4.,   7.,  37.,  14.,   0.,   4.,   0.,  21.,   1.,  62.,   0.,
138.,  38.,   2.,  46.,  65.,   0.,  39.,  48., 141.,  62.,  12.,
1.,  41.,  11.,   3., 186.,  11.,  27.,  27.,  51.,  18.,  32.,
146.,   5.,  45., 141.,  12.,  65.,  27.,   7.,  16.,   2.,  28.,
6., 123., 120.,   7.,   3.,   0.,  81.,   2.,  54., 122.,   4.,
14.,   0., 100.,  15.,   0.,  57.,  99.,  37.,  38.,  32.,  21.,
32.,  40.,   0.,   5.,   8.,   5.,   0.,  50.,  30.,  37.,  89.,
4.,  98.,  83.,  93.,   0.,  52., 152.,   1.,   8.,  93.,  45.,
26.,   0.,   1.,   0.,  16.,  47.,  89.,   3.,   1.,  53.,  16.,
0.,  81.,  14.,  78.,   6., 105., 122.,   9.,   8.,  28.,  35.,
69.,  13.,  97.,  93.,   2.,  36.,  39.,   2.,  29.,  12.,  19.,
34.,   2., 100.,  44.,  82.,   0.,  79.,   6.,   9.,   8.,  23.,
93.,  35.,  63.,  74.,   8., 117.,  39.,  49.,  64.,  43.,  72.,
5.,  17.,   0.,  65.,  20., 141.,  28.,  44.,  27.,  60.,  68.,
3., 139.,  31.,   2.,  44.,  47.,   6.,  17.,  35.,  88., 114.,
7., 127.,   0.,  45.,  33., 110., 146.,   7.,  25.,   9.,   2.,
11.,  17.,  14.,   1.,  45.,  94.,  28.,   4.,  62.,   1.,   9.,
67.,  10.,  99.,  55.,   0.,   1., 101.,   2.,   1.,  16., 140.,
23., 113.,  10.,   1.,  41.,   1.,  28.,   2.,  22.,  29.,   1.,
25., 102.,   0.,  27.,  40.])
In [ ]:
sacgr100 = [sac[i] for i in sac if sac>100]

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-48-40b7349abd15> in <module>()
----> 1 sacgr100 = [sac[i] for i in sac if sac>100]

<ipython-input-48-40b7349abd15> in <listcomp>(.0)
----> 1 sacgr100 = [sac[i] for i in sac if sac>100]

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
In [ ]:
sacgr100

In [ ]:
sacgr100 = sac > 100

In [ ]:
sacgr100

In [ ]:



## Q1. Find the mean, median, IQR for Sachin, Rahul and India¶

In [8]:
import numpy as np

In [9]:
cric_data = np.loadtxt("/content/cric_data.tsv", skiprows = 1)

In [10]:
cric_data.shape

Out[10]:
(225, 4)
In [11]:
cric_data = cric_data[:, [1,2,3]]

In [13]:
cric_data

Out[13]:
array([[100.,  78., 342.],
[ 11.,  62., 191.],
[  8.,  85., 252.],
[ 71.,  24., 307.],
[104.,  17., 229.],
[ 18., 104., 246.],
[  8.,  76., 226.],
[ 86.,  74., 288.],
[ 12.,  60., 216.],
[ 85.,  12., 224.],
[ 18.,  63., 161.],
[  4., 107., 276.],
[  7.,  76., 283.],
[ 37.,   4., 297.],
[ 14.,   5., 139.],
[  0.,  33., 224.],
[  4.,   7., 178.],
[  0.,   0.,   0.],
[ 21.,  36., 193.],
[  1.,  66., 231.],
[ 62.,   0., 134.],
[  0., 123., 246.],
[138.,  39., 299.],
[ 38.,   9., 242.],
[  2.,  11., 214.],
[ 46.,  14., 152.],
[ 65.,   0., 104.],
[  0.,   0.,   4.],
[ 39.,  26., 155.],
[ 48.,   4., 168.],
[141.,  48., 282.],
[ 62.,   7., 228.],
[ 12.,  73., 231.],
[  1.,  86., 238.],
[ 41.,  32., 255.],
[ 11.,  82., 273.],
[  3.,  25., 143.],
[186., 153., 345.],
[ 11.,  26., 134.],
[ 27.,   1., 292.],
[ 27.,   6., 299.],
[ 51.,   3., 233.],
[ 18.,   1., 332.],
[ 32.,  39., 276.],
[146.,  30., 264.],
[  5.,  32., 213.],
[ 45.,  84., 224.],
[141.,  36., 306.],
[ 12.,  31., 259.],
[ 65.,   0., 141.],
[ 27.,  47., 155.],
[  7.,  13., 183.],
[ 16.,  49., 309.],
[  2.,  28., 208.],
[ 28.,   0., 124.],
[  6.,  28., 208.],
[123.,  19., 305.],
[120.,  13., 273.],
[  7.,  14., 186.],
[  3.,  11., 163.],
[  0., 103., 239.],
[ 81.,  43., 274.],
[  2.,   5., 182.],
[ 54.,   5., 256.],
[122.,  15., 227.],
[  4.,   0., 157.],
[ 14.,   5., 353.],
[  0.,  30., 271.],
[100.,   4., 211.],
[ 15.,  53., 141.],
[  0.,  60., 243.],
[ 57.,   7., 499.],
[ 99.,  74., 229.],
[ 37.,  71., 234.],
[ 38.,  54., 259.],
[ 32.,  13., 242.],
[ 21.,  69., 223.],
[ 32.,  33., 184.],
[ 40.,  29., 125.],
[  0.,   2., 195.],
[  5.,   8., 154.],
[  8.,  36., 142.],
[  5.,  51., 197.],
[  0.,   8., 213.],
[ 50.,  62., 256.],
[ 30.,   0., 197.],
[ 37.,  22., 177.],
[ 89.,  39., 167.],
[  4., 104., 366.],
[ 98.,  44., 269.],
[ 83.,   1., 292.],
[ 93.,   2., 218.],
[  0.,   0.,   0.],
[ 52.,  17., 199.],
[152.,   0., 319.],
[  1.,  14., 245.],
[  8.,  62., 274.],
[ 93.,  15., 208.],
[ 45.,  68., 201.],
[ 26.,  17., 275.],
[  0.,   0., 134.],
[  1.,  22.,  68.],
[  0.,  25., 149.],
[ 16.,  29., 216.],
[ 47.,  60., 407.],
[ 89.,  34., 302.],
[  3.,  65., 197.],
[  1.,   3., 222.],
[ 53.,   7., 224.],
[ 16.,  16., 321.],
[  0.,   0.,   0.],
[ 81.,   4., 162.],
[ 14.,  53., 221.],
[ 78.,   5., 204.],
[  6.,  23., 213.],
[105.,  82., 286.],
[122.,   3., 272.],
[  9.,   0., 382.],
[  8.,  20., 229.],
[ 28.,  21., 175.],
[ 35.,  80., 360.],
[ 69.,  22., 256.],
[ 13.,   8., 165.],
[ 97.,  18., 335.],
[ 93.,  24., 188.],
[  2.,  50., 146.],
[ 36.,   1., 113.],
[ 39.,  42., 241.],
[  2.,  61., 211.],
[ 29.,   0., 225.],
[ 12.,   6.,  35.],
[ 19.,  64., 163.],
[ 34.,   9., 200.],
[  2.,  46., 176.],
[100.,   0., 269.],
[ 44.,   0., 284.],
[ 82.,   0., 175.],
[  0.,   0.,  27.],
[ 79.,  13., 282.],
[  6.,   0., 141.],
[  9.,  72., 229.],
[  8.,  12., 213.],
[ 23.,  38., 205.],
[ 93.,  79., 279.],
[ 35.,  18.,  88.],
[ 63.,  16., 284.],
[ 74.,  16., 207.],
[  8.,  56., 224.],
[117.,  21., 204.],
[ 39.,  58., 280.],
[ 49.,   8., 197.],
[ 64.,   0., 205.],
[ 43.,   0., 230.],
[ 72.,   7., 323.],
[  5.,  13., 209.],
[ 17.,  77., 210.],
[  0.,  29., 162.],
[ 65.,  20., 272.],
[ 20.,  90., 251.],
[141.,  26., 286.],
[ 28.,  54., 228.],
[ 44.,  17., 148.],
[ 27.,  78., 272.],
[ 60.,  57., 309.],
[ 68.,  59., 202.],
[  3.,  10., 136.],
[139.,  15., 281.],
[ 31.,  54., 314.],
[  2.,  52., 419.],
[ 44.,   9., 229.],
[ 47.,   0., 133.],
[  6.,  18., 228.],
[ 17.,   3., 143.],
[ 35.,   4., 116.],
[ 88.,   6., 194.],
[114.,  16., 249.],
[  7.,  71., 319.],
[127.,  64., 205.],
[  0.,   7., 191.],
[ 45.,  61., 213.],
[ 33.,   1., 104.],
[110.,   7., 210.],
[146.,   0., 392.],
[  7.,   0.,  57.],
[ 25.,  26., 213.],
[  9.,  19., 158.],
[  2.,  63., 163.],
[ 11.,   3., 166.],
[ 17.,  46., 164.],
[ 14.,  31., 238.],
[  1.,  12., 118.],
[ 45.,  49., 189.],
[ 94.,   4., 346.],
[ 28.,  99., 390.],
[  4.,  47., 319.],
[ 62.,  56., 276.],
[  1.,  73., 324.],
[  9.,  74., 213.],
[ 67.,  31., 207.],
[ 10.,  29., 158.],
[ 99.,  92., 304.],
[ 55.,   1., 199.],
[  0.,   0.,   0.],
[  1.,  30., 195.],
[101.,  16., 207.],
[  2., 145., 352.],
[  1.,  22., 225.],
[ 16.,  31., 236.],
[140., 104., 301.],
[ 23.,  20., 136.],
[113.,  13., 327.],
[ 10.,  52., 296.],
[  1.,  31., 176.],
[ 41.,  12., 201.],
[  1.,  50., 171.],
[ 28.,   3., 191.],
[  2.,   9.,  11.],
[ 22.,  53., 211.],
[ 29.,  49., 225.],
[  1.,  21., 290.],
[ 25.,  14., 101.],
[102.,  50., 470.],
[  0.,  22., 165.],
[ 27.,   0., 192.],
[ 40.,   0., 213.]])
In [14]:
sac = cric_data[:,0]

In [135]:
sac

Out[135]:
array([100.,  11.,   8.,  71., 104.,  18.,   8.,  86.,  12.,  85.,  18.,
4.,   7.,  37.,  14.,   0.,   4.,   0.,  21.,   1.,  62.,   0.,
138.,  38.,   2.,  46.,  65.,   0.,  39.,  48., 141.,  62.,  12.,
1.,  41.,  11.,   3., 186.,  11.,  27.,  27.,  51.,  18.,  32.,
146.,   5.,  45., 141.,  12.,  65.,  27.,   7.,  16.,   2.,  28.,
6., 123., 120.,   7.,   3.,   0.,  81.,   2.,  54., 122.,   4.,
14.,   0., 100.,  15.,   0.,  57.,  99.,  37.,  38.,  32.,  21.,
32.,  40.,   0.,   5.,   8.,   5.,   0.,  50.,  30.,  37.,  89.,
4.,  98.,  83.,  93.,   0.,  52., 152.,   1.,   8.,  93.,  45.,
26.,   0.,   1.,   0.,  16.,  47.,  89.,   3.,   1.,  53.,  16.,
0.,  81.,  14.,  78.,   6., 105., 122.,   9.,   8.,  28.,  35.,
69.,  13.,  97.,  93.,   2.,  36.,  39.,   2.,  29.,  12.,  19.,
34.,   2., 100.,  44.,  82.,   0.,  79.,   6.,   9.,   8.,  23.,
93.,  35.,  63.,  74.,   8., 117.,  39.,  49.,  64.,  43.,  72.,
5.,  17.,   0.,  65.,  20., 141.,  28.,  44.,  27.,  60.,  68.,
3., 139.,  31.,   2.,  44.,  47.,   6.,  17.,  35.,  88., 114.,
7., 127.,   0.,  45.,  33., 110., 146.,   7.,  25.,   9.,   2.,
11.,  17.,  14.,   1.,  45.,  94.,  28.,   4.,  62.,   1.,   9.,
67.,  10.,  99.,  55.,   0.,   1., 101.,   2.,   1.,  16., 140.,
23., 113.,  10.,   1.,  41.,   1.,  28.,   2.,  22.,  29.,   1.,
25., 102.,   0.,  27.,  40.])
In [16]:
rah = cric_data[:,1]

In [17]:
rah

Out[17]:
array([ 78.,  62.,  85.,  24.,  17., 104.,  76.,  74.,  60.,  12.,  63.,
107.,  76.,   4.,   5.,  33.,   7.,   0.,  36.,  66.,   0., 123.,
39.,   9.,  11.,  14.,   0.,   0.,  26.,   4.,  48.,   7.,  73.,
86.,  32.,  82.,  25., 153.,  26.,   1.,   6.,   3.,   1.,  39.,
30.,  32.,  84.,  36.,  31.,   0.,  47.,  13.,  49.,  28.,   0.,
28.,  19.,  13.,  14.,  11., 103.,  43.,   5.,   5.,  15.,   0.,
5.,  30.,   4.,  53.,  60.,   7.,  74.,  71.,  54.,  13.,  69.,
33.,  29.,   2.,   8.,  36.,  51.,   8.,  62.,   0.,  22.,  39.,
104.,  44.,   1.,   2.,   0.,  17.,   0.,  14.,  62.,  15.,  68.,
17.,   0.,  22.,  25.,  29.,  60.,  34.,  65.,   3.,   7.,  16.,
0.,   4.,  53.,   5.,  23.,  82.,   3.,   0.,  20.,  21.,  80.,
22.,   8.,  18.,  24.,  50.,   1.,  42.,  61.,   0.,   6.,  64.,
9.,  46.,   0.,   0.,   0.,   0.,  13.,   0.,  72.,  12.,  38.,
79.,  18.,  16.,  16.,  56.,  21.,  58.,   8.,   0.,   0.,   7.,
13.,  77.,  29.,  20.,  90.,  26.,  54.,  17.,  78.,  57.,  59.,
10.,  15.,  54.,  52.,   9.,   0.,  18.,   3.,   4.,   6.,  16.,
71.,  64.,   7.,  61.,   1.,   7.,   0.,   0.,  26.,  19.,  63.,
3.,  46.,  31.,  12.,  49.,   4.,  99.,  47.,  56.,  73.,  74.,
31.,  29.,  92.,   1.,   0.,  30.,  16., 145.,  22.,  31., 104.,
20.,  13.,  52.,  31.,  12.,  50.,   3.,   9.,  53.,  49.,  21.,
14.,  50.,  22.,   0.,   0.])
In [18]:
india = cric_data[:, 2]

In [19]:
india

Out[19]:
array([342., 191., 252., 307., 229., 246., 226., 288., 216., 224., 161.,
276., 283., 297., 139., 224., 178.,   0., 193., 231., 134., 246.,
299., 242., 214., 152., 104.,   4., 155., 168., 282., 228., 231.,
238., 255., 273., 143., 345., 134., 292., 299., 233., 332., 276.,
264., 213., 224., 306., 259., 141., 155., 183., 309., 208., 124.,
208., 305., 273., 186., 163., 239., 274., 182., 256., 227., 157.,
353., 271., 211., 141., 243., 499., 229., 234., 259., 242., 223.,
184., 125., 195., 154., 142., 197., 213., 256., 197., 177., 167.,
366., 269., 292., 218.,   0., 199., 319., 245., 274., 208., 201.,
275., 134.,  68., 149., 216., 407., 302., 197., 222., 224., 321.,
0., 162., 221., 204., 213., 286., 272., 382., 229., 175., 360.,
256., 165., 335., 188., 146., 113., 241., 211., 225.,  35., 163.,
200., 176., 269., 284., 175.,  27., 282., 141., 229., 213., 205.,
279.,  88., 284., 207., 224., 204., 280., 197., 205., 230., 323.,
209., 210., 162., 272., 251., 286., 228., 148., 272., 309., 202.,
136., 281., 314., 419., 229., 133., 228., 143., 116., 194., 249.,
319., 205., 191., 213., 104., 210., 392.,  57., 213., 158., 163.,
166., 164., 238., 118., 189., 346., 390., 319., 276., 324., 213.,
207., 158., 304., 199.,   0., 195., 207., 352., 225., 236., 301.,
136., 327., 296., 176., 201., 171., 191.,  11., 211., 225., 290.,
101., 470., 165., 192., 213.])
In [20]:
def stats(col):
print("Mean is : ", np.mean(col))
print("Median is :", np.median(col))
print("Inter quartile range :", np.percentile(col, 75)
- np.percentile(col, 25))

In [21]:
stats(sac)

Mean is :  39.87555555555556
Median is : 27.0
Inter quartile range : 57.0

In [22]:
stats(rah)

Mean is :  32.062222222222225
Median is : 22.0
Inter quartile range : 46.0

In [23]:
stats(india)

Mean is :  220.79555555555555
Median is : 216.0
Inter quartile range : 98.0

In [24]:
np.mean(cric_data, axis = 0)

Out[24]:
array([ 39.87555556,  32.06222222, 220.79555556])
In [25]:
np.median(cric_data, axis=0)

Out[25]:
array([ 27.,  22., 216.])
In [26]:
np.percentile(cric_data, 75, axis=0) - np.percentile(cric_data, 25, axis = 0)

Out[26]:
array([57., 46., 98.])

## Q2. Find the histogram of Sachin's scores with 10 bins¶

In [27]:
np.histogram(sac)

Out[27]:
(array([99, 36, 28, 16, 11, 17,  8,  8,  1,  1]),
array([  0. ,  18.6,  37.2,  55.8,  74.4,  93. , 111.6, 130.2, 148.8,
167.4, 186. ]))

## Q3. Find the mean of Sachin's scores grouped by 25 matches¶

In [28]:
sac.shape

Out[28]:
(225,)

#### Considering sachin's dataset, when reshape is applied, the first 25 datapoints form the first row, the second 25 data poits forms the second row and so on...¶

In [29]:
sac.reshape(9, 25)

Out[29]:
array([[100.,  11.,   8.,  71., 104.,  18.,   8.,  86.,  12.,  85.,  18.,
4.,   7.,  37.,  14.,   0.,   4.,   0.,  21.,   1.,  62.,   0.,
138.,  38.,   2.],
[ 46.,  65.,   0.,  39.,  48., 141.,  62.,  12.,   1.,  41.,  11.,
3., 186.,  11.,  27.,  27.,  51.,  18.,  32., 146.,   5.,  45.,
141.,  12.,  65.],
[ 27.,   7.,  16.,   2.,  28.,   6., 123., 120.,   7.,   3.,   0.,
81.,   2.,  54., 122.,   4.,  14.,   0., 100.,  15.,   0.,  57.,
99.,  37.,  38.],
[ 32.,  21.,  32.,  40.,   0.,   5.,   8.,   5.,   0.,  50.,  30.,
37.,  89.,   4.,  98.,  83.,  93.,   0.,  52., 152.,   1.,   8.,
93.,  45.,  26.],
[  0.,   1.,   0.,  16.,  47.,  89.,   3.,   1.,  53.,  16.,   0.,
81.,  14.,  78.,   6., 105., 122.,   9.,   8.,  28.,  35.,  69.,
13.,  97.,  93.],
[  2.,  36.,  39.,   2.,  29.,  12.,  19.,  34.,   2., 100.,  44.,
82.,   0.,  79.,   6.,   9.,   8.,  23.,  93.,  35.,  63.,  74.,
8., 117.,  39.],
[ 49.,  64.,  43.,  72.,   5.,  17.,   0.,  65.,  20., 141.,  28.,
44.,  27.,  60.,  68.,   3., 139.,  31.,   2.,  44.,  47.,   6.,
17.,  35.,  88.],
[114.,   7., 127.,   0.,  45.,  33., 110., 146.,   7.,  25.,   9.,
2.,  11.,  17.,  14.,   1.,  45.,  94.,  28.,   4.,  62.,   1.,
9.,  67.,  10.],
[ 99.,  55.,   0.,   1., 101.,   2.,   1.,  16., 140.,  23., 113.,
10.,   1.,  41.,   1.,  28.,   2.,  22.,  29.,   1.,  25., 102.,
0.,  27.,  40.]])
In [30]:
sac_by_25 = sac.reshape(9, 25)

In [31]:
np.mean(sac_by_25, axis = 1)

Out[31]:
array([33.96, 49.4 , 38.48, 40.16, 39.36, 38.2 , 44.6 , 39.52, 35.2 ])

## Q5. Find mean of Sachin's scores when Rahul scored less than 10¶

In [32]:
sac > 100

Out[32]:
array([False, False, False, False,  True, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False,  True, False, False, False, False,
False, False, False,  True, False, False, False, False, False,
False,  True, False, False, False, False, False, False,  True,
False, False,  True, False, False, False, False, False, False,
False, False,  True,  True, False, False, False, False, False,
False,  True, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False,  True, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False,  True,  True,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False,  True, False, False, False, False,
False, False, False, False, False, False,  True, False, False,
False, False, False, False,  True, False, False, False, False,
False, False, False, False,  True, False,  True, False, False,
False,  True,  True, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False,  True, False, False,
False,  True, False,  True, False, False, False, False, False,
False, False, False, False, False,  True, False, False, False])
In [33]:
sac[sac>100]

Out[33]:
array([104., 138., 141., 186., 146., 141., 123., 120., 122., 152., 105.,
122., 117., 141., 139., 114., 127., 110., 146., 101., 140., 113.,
102.])
In [34]:
np.mean(sac[sac > 100])

Out[34]:
128.2608695652174
In [35]:
## Question 5
np.mean(sac[rah <= 10])

Out[35]:
40.2112676056338

## Q6. Find mean for Sachin's scores based on which quartile India's score falls in¶

In [36]:
np.percentile(india, [25, 50, 75, 100])

Out[36]:
array([175., 216., 273., 499.])
In [37]:
qrs = np.percentile(india, [25, 50, 75, 100])


### if India scores <= 216, find Sachin's mean and so on...¶

In [38]:
india

Out[38]:
array([342., 191., 252., 307., 229., 246., 226., 288., 216., 224., 161.,
276., 283., 297., 139., 224., 178.,   0., 193., 231., 134., 246.,
299., 242., 214., 152., 104.,   4., 155., 168., 282., 228., 231.,
238., 255., 273., 143., 345., 134., 292., 299., 233., 332., 276.,
264., 213., 224., 306., 259., 141., 155., 183., 309., 208., 124.,
208., 305., 273., 186., 163., 239., 274., 182., 256., 227., 157.,
353., 271., 211., 141., 243., 499., 229., 234., 259., 242., 223.,
184., 125., 195., 154., 142., 197., 213., 256., 197., 177., 167.,
366., 269., 292., 218.,   0., 199., 319., 245., 274., 208., 201.,
275., 134.,  68., 149., 216., 407., 302., 197., 222., 224., 321.,
0., 162., 221., 204., 213., 286., 272., 382., 229., 175., 360.,
256., 165., 335., 188., 146., 113., 241., 211., 225.,  35., 163.,
200., 176., 269., 284., 175.,  27., 282., 141., 229., 213., 205.,
279.,  88., 284., 207., 224., 204., 280., 197., 205., 230., 323.,
209., 210., 162., 272., 251., 286., 228., 148., 272., 309., 202.,
136., 281., 314., 419., 229., 133., 228., 143., 116., 194., 249.,
319., 205., 191., 213., 104., 210., 392.,  57., 213., 158., 163.,
166., 164., 238., 118., 189., 346., 390., 319., 276., 324., 213.,
207., 158., 304., 199.,   0., 195., 207., 352., 225., 236., 301.,
136., 327., 296., 176., 201., 171., 191.,  11., 211., 225., 290.,
101., 470., 165., 192., 213.])
In [39]:
india < 175

Out[39]:
array([False, False, False, False, False, False, False, False, False,
False,  True, False, False, False,  True, False, False,  True,
False, False,  True, False, False, False, False,  True,  True,
True,  True,  True, False, False, False, False, False, False,
True, False,  True, False, False, False, False, False, False,
False, False, False, False,  True,  True, False, False, False,
True, False, False, False, False,  True, False, False, False,
False, False,  True, False, False, False,  True, False, False,
False, False, False, False, False, False,  True, False,  True,
True, False, False, False, False, False,  True, False, False,
False, False,  True, False, False, False, False, False, False,
False,  True,  True,  True, False, False, False, False, False,
False, False,  True,  True, False, False, False, False, False,
False, False, False, False, False,  True, False, False,  True,
True, False, False, False,  True,  True, False, False, False,
False, False,  True, False,  True, False, False, False, False,
True, False, False, False, False, False, False, False, False,
False, False, False,  True, False, False, False, False,  True,
False, False, False,  True, False, False, False, False,  True,
False,  True,  True, False, False, False, False, False, False,
True, False, False,  True, False,  True,  True,  True,  True,
False,  True, False, False, False, False, False, False, False,
False,  True, False, False,  True, False, False, False, False,
False, False,  True, False, False, False, False,  True, False,
True, False, False, False,  True, False,  True, False, False])
In [40]:
india[(india < 175)]

Out[40]:
array([161., 139.,   0., 134., 152., 104.,   4., 155., 168., 143., 134.,
141., 155., 124., 163., 157., 141., 125., 154., 142., 167.,   0.,
134.,  68., 149.,   0., 162., 165., 146., 113.,  35., 163.,  27.,
141.,  88., 162., 148., 136., 133., 143., 116., 104.,  57., 158.,
163., 166., 164., 118., 158.,   0., 136., 171.,  11., 101., 165.])
In [41]:
india[india < [175, 215]]

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-41-1879466c052d> in <module>()
----> 1 india[india < [175, 215]]

ValueError: operands could not be broadcast together with shapes (225,) (2,) 
In [43]:
qrs

Out[43]:
array([175., 216., 273., 499.])
In [44]:
india < qrs

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-44-432244d4f3a4> in <module>()
----> 1 india < qrs

ValueError: operands could not be broadcast together with shapes (225,) (4,) 
In [82]:
qrs.shape

Out[82]:
(4, 1)

General Rule(s):

1. are they equal, or
2. one of them is 1
In [83]:
india.shape

Out[83]:
(225,)
In [85]:
qrs = qrs.reshape(4, 1)

In [86]:
qrs.shape

Out[86]:
(4, 1)
In [87]:
india < qrs

Out[87]:
array([[False, False, False, False, False, False, False, False, False,
False,  True, False, False, False,  True, False, False,  True,
False, False,  True, False, False, False, False,  True,  True,
True,  True,  True, False, False, False, False, False, False,
True, False,  True, False, False, False, False, False, False,
False, False, False, False,  True,  True, False, False, False,
True, False, False, False, False,  True, False, False, False,
False, False,  True, False, False, False,  True, False, False,
False, False, False, False, False, False,  True, False,  True,
True, False, False, False, False, False,  True, False, False,
False, False,  True, False, False, False, False, False, False,
False,  True,  True,  True, False, False, False, False, False,
False, False,  True,  True, False, False, False, False, False,
False, False, False, False, False,  True, False, False,  True,
True, False, False, False,  True,  True, False, False, False,
False, False,  True, False,  True, False, False, False, False,
True, False, False, False, False, False, False, False, False,
False, False, False,  True, False, False, False, False,  True,
False, False, False,  True, False, False, False, False,  True,
False,  True,  True, False, False, False, False, False, False,
True, False, False,  True, False,  True,  True,  True,  True,
False,  True, False, False, False, False, False, False, False,
False,  True, False, False,  True, False, False, False, False,
False, False,  True, False, False, False, False,  True, False,
True, False, False, False,  True, False,  True, False, False],
[False,  True, False, False, False, False, False, False, False,
False,  True, False, False, False,  True, False,  True,  True,
True, False,  True, False, False, False,  True,  True,  True,
True,  True,  True, False, False, False, False, False, False,
True, False,  True, False, False, False, False, False, False,
True, False, False, False,  True,  True,  True, False,  True,
True,  True, False, False,  True,  True, False, False,  True,
False, False,  True, False, False,  True,  True, False, False,
False, False, False, False, False,  True,  True,  True,  True,
True,  True,  True, False,  True,  True,  True, False, False,
False, False,  True,  True, False, False, False,  True,  True,
False,  True,  True,  True, False, False, False,  True, False,
False, False,  True,  True, False,  True,  True, False, False,
False, False,  True, False, False,  True, False,  True,  True,
True, False,  True, False,  True,  True,  True,  True, False,
False,  True,  True, False,  True, False,  True,  True, False,
True, False,  True, False,  True, False,  True,  True, False,
False,  True,  True,  True, False, False, False, False,  True,
False, False,  True,  True, False, False, False, False,  True,
False,  True,  True,  True, False, False,  True,  True,  True,
True,  True, False,  True,  True,  True,  True,  True,  True,
False,  True,  True, False, False, False, False, False,  True,
True,  True, False,  True,  True,  True,  True, False, False,
False, False,  True, False, False,  True,  True,  True,  True,
True,  True, False, False,  True, False,  True,  True,  True],
[False,  True,  True, False,  True,  True,  True, False,  True,
True,  True, False, False, False,  True,  True,  True,  True,
True,  True,  True,  True, False,  True,  True,  True,  True,
True,  True,  True, False,  True,  True,  True,  True, False,
True, False,  True, False, False,  True, False, False,  True,
True,  True, False,  True,  True,  True,  True, False,  True,
True,  True, False, False,  True,  True,  True, False,  True,
True,  True,  True, False,  True,  True,  True,  True, False,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True, False,  True,
False,  True,  True,  True, False,  True, False,  True,  True,
False,  True,  True,  True,  True, False, False,  True,  True,
True, False,  True,  True,  True,  True,  True, False,  True,
False,  True,  True, False,  True,  True, False,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
False,  True,  True, False,  True,  True,  True,  True, False,
True, False,  True,  True,  True, False,  True,  True,  True,
False,  True,  True,  True,  True,  True, False,  True,  True,
True, False,  True,  True, False, False, False,  True,  True,
True,  True,  True,  True,  True, False,  True,  True,  True,
True,  True, False,  True,  True,  True,  True,  True,  True,
True,  True,  True, False, False, False, False, False,  True,
True,  True, False,  True,  True,  True,  True, False,  True,
True, False,  True, False, False,  True,  True,  True,  True,
True,  True,  True, False,  True, False,  True,  True,  True],
[ True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True, False,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True]])
In [88]:
indicies = india < qrs

In [89]:
indicies.shape

Out[89]:
(4, 225)
In [90]:
qrs

Out[90]:
array([[175.],
[216.],
[273.],
[499.]])
In [91]:
sac

Out[91]:
array([100.,  11.,   8.,  71., 104.,  18.,   8.,  86.,  12.,  85.,  18.,
4.,   7.,  37.,  14.,   0.,   4.,   0.,  21.,   1.,  62.,   0.,
138.,  38.,   2.,  46.,  65.,   0.,  39.,  48., 141.,  62.,  12.,
1.,  41.,  11.,   3., 186.,  11.,  27.,  27.,  51.,  18.,  32.,
146.,   5.,  45., 141.,  12.,  65.,  27.,   7.,  16.,   2.,  28.,
6., 123., 120.,   7.,   3.,   0.,  81.,   2.,  54., 122.,   4.,
14.,   0., 100.,  15.,   0.,  57.,  99.,  37.,  38.,  32.,  21.,
32.,  40.,   0.,   5.,   8.,   5.,   0.,  50.,  30.,  37.,  89.,
4.,  98.,  83.,  93.,   0.,  52., 152.,   1.,   8.,  93.,  45.,
26.,   0.,   1.,   0.,  16.,  47.,  89.,   3.,   1.,  53.,  16.,
0.,  81.,  14.,  78.,   6., 105., 122.,   9.,   8.,  28.,  35.,
69.,  13.,  97.,  93.,   2.,  36.,  39.,   2.,  29.,  12.,  19.,
34.,   2., 100.,  44.,  82.,   0.,  79.,   6.,   9.,   8.,  23.,
93.,  35.,  63.,  74.,   8., 117.,  39.,  49.,  64.,  43.,  72.,
5.,  17.,   0.,  65.,  20., 141.,  28.,  44.,  27.,  60.,  68.,
3., 139.,  31.,   2.,  44.,  47.,   6.,  17.,  35.,  88., 114.,
7., 127.,   0.,  45.,  33., 110., 146.,   7.,  25.,   9.,   2.,
11.,  17.,  14.,   1.,  45.,  94.,  28.,   4.,  62.,   1.,   9.,
67.,  10.,  99.,  55.,   0.,   1., 101.,   2.,   1.,  16., 140.,
23., 113.,  10.,   1.,  41.,   1.,  28.,   2.,  22.,  29.,   1.,
25., 102.,   0.,  27.,  40.])

#### dataset for scores less than 216 - which is the second quartile¶

In [92]:
sac[indicies[1, :]]

Out[92]:
array([ 11.,  18.,  14.,   4.,   0.,  21.,  62.,   2.,  46.,  65.,   0.,
39.,  48.,   3.,  11.,   5.,  65.,  27.,   7.,   2.,  28.,   6.,
7.,   3.,   2.,   4., 100.,  15.,  32.,  40.,   0.,   5.,   8.,
5.,   0.,  30.,  37.,  89.,   0.,  52.,  93.,  45.,   0.,   1.,
0.,   3.,   0.,  81.,  78.,   6.,  28.,  13.,  93.,   2.,  36.,
2.,  12.,  19.,  34.,   2.,  82.,   0.,   6.,   8.,  23.,  35.,
74., 117.,  49.,  64.,   5.,  17.,   0.,  44.,  68.,   3.,  47.,
17.,  35.,  88., 127.,   0.,  45.,  33., 110.,   7.,  25.,   9.,
2.,  11.,  17.,   1.,  45.,   9.,  67.,  10.,  55.,   0.,   1.,
101.,  23.,   1.,  41.,   1.,  28.,   2.,  22.,  25.,   0.,  27.,
40.])

#### dataset for scores less than 175 - which is the first quartile¶

In [93]:
sac[indicies[0,:]]

Out[93]:
array([18., 14.,  0., 62., 46., 65.,  0., 39., 48.,  3., 11., 65., 27.,
28.,  3.,  4., 15., 40.,  5.,  8., 89.,  0.,  0.,  1.,  0.,  0.,
81., 13.,  2., 36., 12., 19.,  0.,  6., 35.,  0., 44.,  3., 47.,
17., 35., 33.,  7.,  9.,  2., 11., 17.,  1., 10.,  0., 23.,  1.,
2., 25.,  0.])

#### one liner for FOR Loop - to get mean scores for all the four quartiles¶

In [94]:
for i in range(4): print(i, np.mean(sac[indicies[i]]))

0 19.672727272727272
1 28.18018018018018
2 31.688622754491018
3 39.799107142857146


## Q7. For every match find out who has scored more - Sachin or Dravid¶

In [95]:
snr = cric_data[0 : 2]

In [96]:
snr

Out[96]:
array([[100.,  78., 342.],
[ 11.,  62., 191.]])
In [97]:
snr = cric_data[:, 0:2]

In [98]:
snr

Out[98]:
array([[100.,  78.],
[ 11.,  62.],
[  8.,  85.],
[ 71.,  24.],
[104.,  17.],
[ 18., 104.],
[  8.,  76.],
[ 86.,  74.],
[ 12.,  60.],
[ 85.,  12.],
[ 18.,  63.],
[  4., 107.],
[  7.,  76.],
[ 37.,   4.],
[ 14.,   5.],
[  0.,  33.],
[  4.,   7.],
[  0.,   0.],
[ 21.,  36.],
[  1.,  66.],
[ 62.,   0.],
[  0., 123.],
[138.,  39.],
[ 38.,   9.],
[  2.,  11.],
[ 46.,  14.],
[ 65.,   0.],
[  0.,   0.],
[ 39.,  26.],
[ 48.,   4.],
[141.,  48.],
[ 62.,   7.],
[ 12.,  73.],
[  1.,  86.],
[ 41.,  32.],
[ 11.,  82.],
[  3.,  25.],
[186., 153.],
[ 11.,  26.],
[ 27.,   1.],
[ 27.,   6.],
[ 51.,   3.],
[ 18.,   1.],
[ 32.,  39.],
[146.,  30.],
[  5.,  32.],
[ 45.,  84.],
[141.,  36.],
[ 12.,  31.],
[ 65.,   0.],
[ 27.,  47.],
[  7.,  13.],
[ 16.,  49.],
[  2.,  28.],
[ 28.,   0.],
[  6.,  28.],
[123.,  19.],
[120.,  13.],
[  7.,  14.],
[  3.,  11.],
[  0., 103.],
[ 81.,  43.],
[  2.,   5.],
[ 54.,   5.],
[122.,  15.],
[  4.,   0.],
[ 14.,   5.],
[  0.,  30.],
[100.,   4.],
[ 15.,  53.],
[  0.,  60.],
[ 57.,   7.],
[ 99.,  74.],
[ 37.,  71.],
[ 38.,  54.],
[ 32.,  13.],
[ 21.,  69.],
[ 32.,  33.],
[ 40.,  29.],
[  0.,   2.],
[  5.,   8.],
[  8.,  36.],
[  5.,  51.],
[  0.,   8.],
[ 50.,  62.],
[ 30.,   0.],
[ 37.,  22.],
[ 89.,  39.],
[  4., 104.],
[ 98.,  44.],
[ 83.,   1.],
[ 93.,   2.],
[  0.,   0.],
[ 52.,  17.],
[152.,   0.],
[  1.,  14.],
[  8.,  62.],
[ 93.,  15.],
[ 45.,  68.],
[ 26.,  17.],
[  0.,   0.],
[  1.,  22.],
[  0.,  25.],
[ 16.,  29.],
[ 47.,  60.],
[ 89.,  34.],
[  3.,  65.],
[  1.,   3.],
[ 53.,   7.],
[ 16.,  16.],
[  0.,   0.],
[ 81.,   4.],
[ 14.,  53.],
[ 78.,   5.],
[  6.,  23.],
[105.,  82.],
[122.,   3.],
[  9.,   0.],
[  8.,  20.],
[ 28.,  21.],
[ 35.,  80.],
[ 69.,  22.],
[ 13.,   8.],
[ 97.,  18.],
[ 93.,  24.],
[  2.,  50.],
[ 36.,   1.],
[ 39.,  42.],
[  2.,  61.],
[ 29.,   0.],
[ 12.,   6.],
[ 19.,  64.],
[ 34.,   9.],
[  2.,  46.],
[100.,   0.],
[ 44.,   0.],
[ 82.,   0.],
[  0.,   0.],
[ 79.,  13.],
[  6.,   0.],
[  9.,  72.],
[  8.,  12.],
[ 23.,  38.],
[ 93.,  79.],
[ 35.,  18.],
[ 63.,  16.],
[ 74.,  16.],
[  8.,  56.],
[117.,  21.],
[ 39.,  58.],
[ 49.,   8.],
[ 64.,   0.],
[ 43.,   0.],
[ 72.,   7.],
[  5.,  13.],
[ 17.,  77.],
[  0.,  29.],
[ 65.,  20.],
[ 20.,  90.],
[141.,  26.],
[ 28.,  54.],
[ 44.,  17.],
[ 27.,  78.],
[ 60.,  57.],
[ 68.,  59.],
[  3.,  10.],
[139.,  15.],
[ 31.,  54.],
[  2.,  52.],
[ 44.,   9.],
[ 47.,   0.],
[  6.,  18.],
[ 17.,   3.],
[ 35.,   4.],
[ 88.,   6.],
[114.,  16.],
[  7.,  71.],
[127.,  64.],
[  0.,   7.],
[ 45.,  61.],
[ 33.,   1.],
[110.,   7.],
[146.,   0.],
[  7.,   0.],
[ 25.,  26.],
[  9.,  19.],
[  2.,  63.],
[ 11.,   3.],
[ 17.,  46.],
[ 14.,  31.],
[  1.,  12.],
[ 45.,  49.],
[ 94.,   4.],
[ 28.,  99.],
[  4.,  47.],
[ 62.,  56.],
[  1.,  73.],
[  9.,  74.],
[ 67.,  31.],
[ 10.,  29.],
[ 99.,  92.],
[ 55.,   1.],
[  0.,   0.],
[  1.,  30.],
[101.,  16.],
[  2., 145.],
[  1.,  22.],
[ 16.,  31.],
[140., 104.],
[ 23.,  20.],
[113.,  13.],
[ 10.,  52.],
[  1.,  31.],
[ 41.,  12.],
[  1.,  50.],
[ 28.,   3.],
[  2.,   9.],
[ 22.,  53.],
[ 29.,  49.],
[  1.,  21.],
[ 25.,  14.],
[102.,  50.],
[  0.,  22.],
[ 27.,   0.],
[ 40.,   0.]])

#### using argmax f() - returns the position of the max value in the given array¶

In [99]:
np.max([1,2,3,4,3,2])

Out[99]:
4
In [100]:
np.argmax([1,2,3,4,3,2])

Out[100]:
3
In [101]:
np.argmax(snr, axis = 1)

Out[101]:
array([0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1,
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1,
0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0,
0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0,
0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1,
0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0,
1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1,
0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1,
0, 0, 1, 0, 0])
In [102]:
is_rahul = np.argmax(snr, axis=1)

In [103]:
is_rahul

Out[103]:
array([0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1,
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1,
0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0,
0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0,
0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1,
0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0,
1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1,
0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1,
0, 0, 1, 0, 0])
In [104]:
np.sum(is_rahul) / 225

Out[104]:
0.4711111111111111

where f() - takes three arguments - condition, x, y

• if true - returns x else
• returns y
In [105]:
np.where(is_rahul, "rahul", "sac")

Out[105]:
array(['sac', 'rahul', 'rahul', 'sac', 'sac', 'rahul', 'rahul', 'sac',
'rahul', 'sac', 'rahul', 'rahul', 'rahul', 'sac', 'sac', 'rahul',
'rahul', 'sac', 'rahul', 'rahul', 'sac', 'rahul', 'sac', 'sac',
'rahul', 'sac', 'sac', 'sac', 'sac', 'sac', 'sac', 'sac', 'rahul',
'rahul', 'sac', 'rahul', 'rahul', 'sac', 'rahul', 'sac', 'sac',
'sac', 'sac', 'rahul', 'sac', 'rahul', 'rahul', 'sac', 'rahul',
'sac', 'rahul', 'rahul', 'rahul', 'rahul', 'sac', 'rahul', 'sac',
'sac', 'rahul', 'rahul', 'rahul', 'sac', 'rahul', 'sac', 'sac',
'sac', 'sac', 'rahul', 'sac', 'rahul', 'rahul', 'sac', 'sac',
'rahul', 'rahul', 'sac', 'rahul', 'rahul', 'sac', 'rahul', 'rahul',
'rahul', 'rahul', 'rahul', 'rahul', 'sac', 'sac', 'sac', 'rahul',
'sac', 'sac', 'sac', 'sac', 'sac', 'sac', 'rahul', 'rahul', 'sac',
'rahul', 'sac', 'sac', 'rahul', 'rahul', 'rahul', 'rahul', 'sac',
'rahul', 'rahul', 'sac', 'sac', 'sac', 'sac', 'rahul', 'sac',
'rahul', 'sac', 'sac', 'sac', 'rahul', 'sac', 'rahul', 'sac',
'sac', 'sac', 'sac', 'rahul', 'sac', 'rahul', 'rahul', 'sac',
'sac', 'rahul', 'sac', 'rahul', 'sac', 'sac', 'sac', 'sac', 'sac',
'sac', 'rahul', 'rahul', 'rahul', 'sac', 'sac', 'sac', 'sac',
'rahul', 'sac', 'rahul', 'sac', 'sac', 'sac', 'sac', 'rahul',
'rahul', 'rahul', 'sac', 'rahul', 'sac', 'rahul', 'sac', 'rahul',
'sac', 'sac', 'rahul', 'sac', 'rahul', 'rahul', 'sac', 'sac',
'rahul', 'sac', 'sac', 'sac', 'sac', 'rahul', 'sac', 'rahul',
'rahul', 'sac', 'sac', 'sac', 'sac', 'rahul', 'rahul', 'rahul',
'sac', 'rahul', 'rahul', 'rahul', 'rahul', 'sac', 'rahul', 'rahul',
'sac', 'rahul', 'rahul', 'sac', 'rahul', 'sac', 'sac', 'sac',
'rahul', 'sac', 'rahul', 'rahul', 'rahul', 'sac', 'sac', 'sac',
'rahul', 'rahul', 'sac', 'rahul', 'sac', 'rahul', 'rahul', 'rahul',
'rahul', 'sac', 'sac', 'rahul', 'sac', 'sac'], dtype='<U5')

## Q8. How many more runs do sachin score on average after having scored x runs¶

In [106]:
x_arr = np.arange(0, 101, 5)

In [107]:
x_arr.shape

Out[107]:
(21,)
In [108]:
x_arr

Out[108]:
array([  0,   5,  10,  15,  20,  25,  30,  35,  40,  45,  50,  55,  60,
65,  70,  75,  80,  85,  90,  95, 100])
In [121]:
x_arr = x_arr.reshape(x_arr.shape[0], 1)

In [110]:
x_arr

Out[110]:
array([[  0],
[  5],
[ 10],
[ 15],
[ 20],
[ 25],
[ 30],
[ 35],
[ 40],
[ 45],
[ 50],
[ 55],
[ 60],
[ 65],
[ 70],
[ 75],
[ 80],
[ 85],
[ 90],
[ 95],
[100]])
In [111]:
x_arr.shape

Out[111]:
(21, 1)
In [112]:
sac.shape

Out[112]:
(225,)
In [113]:
sac > x_arr

Out[113]:
array([[ True,  True,  True, ..., False,  True,  True],
[ True,  True,  True, ..., False,  True,  True],
[ True,  True, False, ..., False,  True,  True],
...,
[ True, False, False, ..., False, False, False],
[ True, False, False, ..., False, False, False],
[False, False, False, ..., False, False, False]])
In [114]:
indicies = sac>x_arr

In [115]:
indicies

Out[115]:
array([[ True,  True,  True, ..., False,  True,  True],
[ True,  True,  True, ..., False,  True,  True],
[ True,  True, False, ..., False,  True,  True],
...,
[ True, False, False, ..., False, False, False],
[ True, False, False, ..., False, False, False],
[False, False, False, ..., False, False, False]])
In [116]:
indicies.shape

Out[116]:
(21, 225)
In [123]:
# to get all the scores that are more than 5
sac[indicies[1,:]]

Out[123]:
array([100.,  11.,   8.,  71., 104.,  18.,   8.,  86.,  12.,  85.,  18.,
7.,  37.,  14.,  21.,  62., 138.,  38.,  46.,  65.,  39.,  48.,
141.,  62.,  12.,  41.,  11., 186.,  11.,  27.,  27.,  51.,  18.,
32., 146.,  45., 141.,  12.,  65.,  27.,   7.,  16.,  28.,   6.,
123., 120.,   7.,  81.,  54., 122.,  14., 100.,  15.,  57.,  99.,
37.,  38.,  32.,  21.,  32.,  40.,   8.,  50.,  30.,  37.,  89.,
98.,  83.,  93.,  52., 152.,   8.,  93.,  45.,  26.,  16.,  47.,
89.,  53.,  16.,  81.,  14.,  78.,   6., 105., 122.,   9.,   8.,
28.,  35.,  69.,  13.,  97.,  93.,  36.,  39.,  29.,  12.,  19.,
34., 100.,  44.,  82.,  79.,   6.,   9.,   8.,  23.,  93.,  35.,
63.,  74.,   8., 117.,  39.,  49.,  64.,  43.,  72.,  17.,  65.,
20., 141.,  28.,  44.,  27.,  60.,  68., 139.,  31.,  44.,  47.,
6.,  17.,  35.,  88., 114.,   7., 127.,  45.,  33., 110., 146.,
7.,  25.,   9.,  11.,  17.,  14.,  45.,  94.,  28.,  62.,   9.,
67.,  10.,  99.,  55., 101.,  16., 140.,  23., 113.,  10.,  41.,
28.,  22.,  29.,  25., 102.,  27.,  40.])
In [124]:
# to get all the scores more than 10
sac[indicies[2, :]]

Out[124]:
array([100.,  11.,  71., 104.,  18.,  86.,  12.,  85.,  18.,  37.,  14.,
21.,  62., 138.,  38.,  46.,  65.,  39.,  48., 141.,  62.,  12.,
41.,  11., 186.,  11.,  27.,  27.,  51.,  18.,  32., 146.,  45.,
141.,  12.,  65.,  27.,  16.,  28., 123., 120.,  81.,  54., 122.,
14., 100.,  15.,  57.,  99.,  37.,  38.,  32.,  21.,  32.,  40.,
50.,  30.,  37.,  89.,  98.,  83.,  93.,  52., 152.,  93.,  45.,
26.,  16.,  47.,  89.,  53.,  16.,  81.,  14.,  78., 105., 122.,
28.,  35.,  69.,  13.,  97.,  93.,  36.,  39.,  29.,  12.,  19.,
34., 100.,  44.,  82.,  79.,  23.,  93.,  35.,  63.,  74., 117.,
39.,  49.,  64.,  43.,  72.,  17.,  65.,  20., 141.,  28.,  44.,
27.,  60.,  68., 139.,  31.,  44.,  47.,  17.,  35.,  88., 114.,
127.,  45.,  33., 110., 146.,  25.,  11.,  17.,  14.,  45.,  94.,
28.,  62.,  67.,  99.,  55., 101.,  16., 140.,  23., 113.,  41.,
28.,  22.,  29.,  25., 102.,  27.,  40.])
In [127]:
# to get scores that are more than 15 and likewise...
sac[indicies[3,:]]

Out[127]:
array([100.,  71., 104.,  18.,  86.,  85.,  18.,  37.,  21.,  62., 138.,
38.,  46.,  65.,  39.,  48., 141.,  62.,  41., 186.,  27.,  27.,
51.,  18.,  32., 146.,  45., 141.,  65.,  27.,  16.,  28., 123.,
120.,  81.,  54., 122., 100.,  57.,  99.,  37.,  38.,  32.,  21.,
32.,  40.,  50.,  30.,  37.,  89.,  98.,  83.,  93.,  52., 152.,
93.,  45.,  26.,  16.,  47.,  89.,  53.,  16.,  81.,  78., 105.,
122.,  28.,  35.,  69.,  97.,  93.,  36.,  39.,  29.,  19.,  34.,
100.,  44.,  82.,  79.,  23.,  93.,  35.,  63.,  74., 117.,  39.,
49.,  64.,  43.,  72.,  17.,  65.,  20., 141.,  28.,  44.,  27.,
60.,  68., 139.,  31.,  44.,  47.,  17.,  35.,  88., 114., 127.,
45.,  33., 110., 146.,  25.,  17.,  45.,  94.,  28.,  62.,  67.,
99.,  55., 101.,  16., 140.,  23., 113.,  41.,  28.,  22.,  29.,
25., 102.,  27.,  40.])
In [128]:
np.mean(sac[indicies[1,:]])

Out[128]:
51.674418604651166
In [129]:
np.mean(sac[indicies[2, :]])

Out[129]:
58.11333333333334
In [130]:
np.mean(sac[indicies[3, :]])

Out[130]:
62.8014705882353
In [118]:
# the following code gives us the mean of the scores

for i in range(x_arr.shape[0]):
print(np.mean(sac[indicies[i, :]]))

43.34299516908212
51.674418604651166
58.11333333333334
62.8014705882353
67.20161290322581
69.85470085470085
75.57281553398059
79.62765957446808
85.12048192771084
90.79452054794521
94.64179104477611
98.0
99.31666666666666
104.82692307692308
107.08163265306122
109.34782608695652
110.75
114.38461538461539
117.4
121.43333333333334
128.2608695652174

In [136]:
# we are interested in the incremental scores rather than mean so,
# subtract the ith element (what he has already scored) from the mean

for i in range(x_arr.shape[0]):
print(x_arr[i, 0],
np.mean(sac[indicies[i, :]]) - x_arr[i, 0])

0 43.34299516908212
5 46.674418604651166
10 48.11333333333334
15 47.8014705882353
20 47.20161290322581
25 44.85470085470085
30 45.57281553398059
35 44.62765957446808
40 45.12048192771084
45 45.79452054794521
50 44.64179104477611
55 43.0
60 39.31666666666666
65 39.82692307692308
70 37.08163265306122
75 34.347826086956516
80 30.75
85 29.384615384615387
90 27.400000000000006
95 26.433333333333337
100 28.260869565217405


## Q9. How many matches did Sac take to score first 1000 runs, and next 1000 runs and so on...¶

In [137]:
sac_cumsum = np.cumsum(sac)

In [138]:
sac_cumsum

Out[138]:
array([ 100.,  111.,  119.,  190.,  294.,  312.,  320.,  406.,  418.,
503.,  521.,  525.,  532.,  569.,  583.,  583.,  587.,  587.,
608.,  609.,  671.,  671.,  809.,  847.,  849.,  895.,  960.,
960.,  999., 1047., 1188., 1250., 1262., 1263., 1304., 1315.,
1318., 1504., 1515., 1542., 1569., 1620., 1638., 1670., 1816.,
1821., 1866., 2007., 2019., 2084., 2111., 2118., 2134., 2136.,
2164., 2170., 2293., 2413., 2420., 2423., 2423., 2504., 2506.,
2560., 2682., 2686., 2700., 2700., 2800., 2815., 2815., 2872.,
2971., 3008., 3046., 3078., 3099., 3131., 3171., 3171., 3176.,
3184., 3189., 3189., 3239., 3269., 3306., 3395., 3399., 3497.,
3580., 3673., 3673., 3725., 3877., 3878., 3886., 3979., 4024.,
4050., 4050., 4051., 4051., 4067., 4114., 4203., 4206., 4207.,
4260., 4276., 4276., 4357., 4371., 4449., 4455., 4560., 4682.,
4691., 4699., 4727., 4762., 4831., 4844., 4941., 5034., 5036.,
5072., 5111., 5113., 5142., 5154., 5173., 5207., 5209., 5309.,
5353., 5435., 5435., 5514., 5520., 5529., 5537., 5560., 5653.,
5688., 5751., 5825., 5833., 5950., 5989., 6038., 6102., 6145.,
6217., 6222., 6239., 6239., 6304., 6324., 6465., 6493., 6537.,
6564., 6624., 6692., 6695., 6834., 6865., 6867., 6911., 6958.,
6964., 6981., 7016., 7104., 7218., 7225., 7352., 7352., 7397.,
7430., 7540., 7686., 7693., 7718., 7727., 7729., 7740., 7757.,
7771., 7772., 7817., 7911., 7939., 7943., 8005., 8006., 8015.,
8082., 8092., 8191., 8246., 8246., 8247., 8348., 8350., 8351.,
8367., 8507., 8530., 8643., 8653., 8654., 8695., 8696., 8724.,
8726., 8748., 8777., 8778., 8803., 8905., 8905., 8932., 8972.])
In [142]:
np.histogram(sac_cumsum, bins = np.arange(0, 10000, 1000))

Out[142]:
(array([29, 18, 26, 25, 26, 26, 23, 22, 30]),
array([   0, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000]))

## Test¶

In [143]:
a = np.array([1,2,3,4])
print(a[::-1])

[5 4 3 2 1]

In [146]:
a = np.array([1,2,3,4])
a[0] = 0.9
print(a[0], a.dtype)

0 int64

In [145]:
a

Out[145]:
array([0, 2, 3, 4])
In [147]:
a = np.arange(3)
b = a.reshape(2,2)
print(b)

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-147-43873270aa4b> in <module>()
1 a = np.arange(3)
----> 2 b = a.reshape(2,2)
3 print(b)

ValueError: cannot reshape array of size 3 into shape (2,2)
In [149]:
a = np.array([1,2,3,4, 5])
print(a[2:None])

[3 4 5]

In [150]:
a = np.arange(10)
b = np.where(a % 2 == 1, 1, a)
print(b)

[0 1 2 1 4 1 6 1 8 1]

In [151]:
a = np.array([[1,2,3], [4,5,6]])
print(a[1][2])

6

In [153]:
a = np.array([3,6,9,12,15])
b = np.array([2,3,4,5,12])
c = np.where(a == b)
print(c[0])

[]

In [ ]: