In [1]:
data1 = [6, 7.5, 8, 0, 1]

In [2]:
import numpy as np
import pandas as pd


/usr/local/lib/python2.7/dist-packages/pandas-0.13.1-py2.7-linux-i686.egg/pandas/io/gbq.py:10: UserWarning: Module PIL was already imported from /usr/lib/python2.7/dist-packages/PIL/__init__.pyc, but /usr/local/lib/python2.7/dist-packages is being added to sys.path
  import pkg_resources

In [3]:
arr1 = np.array(data1)

In [4]:
data2 = [[1, 2, 3, 4], [5, 6, 7, 8]]
arr2 = np.array(data2)

In [5]:
data1+data2


Out[5]:
[6, 7.5, 8, 0, 1, [1, 2, 3, 4], [5, 6, 7, 8]]

In [6]:
arr2.shape


Out[6]:
(2, 4)

In [7]:
arr2.ndim


Out[7]:
2

In [8]:
arr2.dtype


Out[8]:
dtype('int32')

In [9]:
type(arr2)


Out[9]:
numpy.ndarray

In [10]:
arr1.dtype


Out[10]:
dtype('float64')

In [11]:
np.zeros((3,6))


Out[11]:
array([[ 0.,  0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.]])

In [12]:
np.empty((2,3,2))


Out[12]:
array([[[  2.19966067e-261,   2.01500277e-260],
        [  2.01589594e-260,   1.83265871e-260],
        [  2.01515163e-260,   1.43168709e-262]],

       [[  2.01619367e-260,   1.83352708e-260],
        [  2.01574708e-260,   2.01351414e-260],
        [  1.51837466e-314,   0.00000000e+000]]])

In [13]:
arr1 = np.array([1, 2, 3], dtype=np.float64)

In [14]:
arr1


Out[14]:
array([ 1.,  2.,  3.])

In [15]:
arr = np.array([3.7, -1.2, -2.6, 0.5, 12.9, 10.1])

In [16]:
arr


Out[16]:
array([  3.7,  -1.2,  -2.6,   0.5,  12.9,  10.1])

In [17]:
arr.astype(np.int32)


Out[17]:
array([ 3, -1, -2,  0, 12, 10])

In [18]:
numeric_strings = np.array(['1.25', '-9.6', '42'], dtype=np.string_)

In [19]:
numeric_strings.astype(float)


Out[19]:
array([  1.25,  -9.6 ,  42.  ])

In [41]:
arr = np.array([[1., 2., 3.], [4., 5., 6.]])

In [21]:
arr * arr


Out[21]:
array([[  1.,   4.,   9.],
       [ 16.,  25.,  36.]])

In [22]:
1/arr


Out[22]:
array([[ 1.        ,  0.5       ,  0.33333333],
       [ 0.25      ,  0.2       ,  0.16666667]])

In [23]:
arr **.5


Out[23]:
array([[ 1.        ,  1.41421356,  1.73205081],
       [ 2.        ,  2.23606798,  2.44948974]])

In [24]:
arr **2


Out[24]:
array([[  1.,   4.,   9.],
       [ 16.,  25.,  36.]])

In [25]:
len(arr)


Out[25]:
2

In [32]:
arr


Out[32]:
array([[ 1.,  2.,  3.],
       [ 4.,  5.,  6.]])

In [33]:
arr[:]=55

In [34]:
arr


Out[34]:
array([[ 55.,  55.,  55.],
       [ 55.,  55.,  55.]])

In [52]:
#arr2 = np.array(xrange(1,12), shape=(3,4))

In [43]:
arr


Out[43]:
array([[ 1.,  2.,  3.],
       [ 4.,  5.,  6.]])

In [55]:
arr1 = np.arange(10)

In [58]:
arr1_slice = arr1[5:8]

In [59]:
arr1_slice


Out[59]:
array([5, 6, 7])

In [60]:
arr1


Out[60]:
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

In [61]:
arr1_slice[:]=66

In [62]:
arr1_slice


Out[62]:
array([66, 66, 66])

In [63]:
arr1


Out[63]:
array([ 0,  1,  2,  3,  4, 66, 66, 66,  8,  9])

In [65]:
arr2d = np.array([[1,2,3],[4,5,6],[22,33,44]])

In [66]:
arr2d


Out[66]:
array([[ 1,  2,  3],
       [ 4,  5,  6],
       [22, 33, 44]])

In [67]:
arr2d[:2]


Out[67]:
array([[1, 2, 3],
       [4, 5, 6]])

In [70]:
arr2d[2,:2]


Out[70]:
array([22, 33])

In [71]:
arr2d[:,:1]


Out[71]:
array([[ 1],
       [ 4],
       [22]])

In [72]:
names = np.array(['Bob', 'Joe', 'Will', 'Bob', 'Will', 'Joe', 'Joe'])

In [73]:
names


Out[73]:
array(['Bob', 'Joe', 'Will', 'Bob', 'Will', 'Joe', 'Joe'], 
      dtype='|S4')

In [74]:
data = randn(7,4)

In [75]:
data


Out[75]:
array([[-1.09360937, -0.90531348,  0.49420466,  0.68273208],
       [-0.37395502, -0.70259806,  0.4091842 , -1.30443703],
       [-1.14453328,  0.05213632,  0.88174199,  1.31972556],
       [ 1.01098514,  0.29626068,  0.59160089, -0.64446294],
       [ 0.44559697, -0.0746147 ,  0.95039384,  0.34861174],
       [-0.27046058,  0.54169393, -0.49653988, -0.67832727],
       [ 0.01283908,  1.46510777, -1.17785195, -0.83932524]])

In [76]:
arr2d[2]


Out[76]:
array([22, 33, 44])

In [77]:
arr2d[2,:]


Out[77]:
array([22, 33, 44])

In [78]:
names=='Bob'


Out[78]:
array([ True, False, False,  True, False, False, False], dtype=bool)

In [79]:
data[names=='Bob']


Out[79]:
array([[-1.09360937, -0.90531348,  0.49420466,  0.68273208],
       [ 1.01098514,  0.29626068,  0.59160089, -0.64446294]])

In [80]:
data


Out[80]:
array([[-1.09360937, -0.90531348,  0.49420466,  0.68273208],
       [-0.37395502, -0.70259806,  0.4091842 , -1.30443703],
       [-1.14453328,  0.05213632,  0.88174199,  1.31972556],
       [ 1.01098514,  0.29626068,  0.59160089, -0.64446294],
       [ 0.44559697, -0.0746147 ,  0.95039384,  0.34861174],
       [-0.27046058,  0.54169393, -0.49653988, -0.67832727],
       [ 0.01283908,  1.46510777, -1.17785195, -0.83932524]])

In [81]:
data[names=='Bob', 2:]


Out[81]:
array([[ 0.49420466,  0.68273208],
       [ 0.59160089, -0.64446294]])

In [82]:
names!='Bob'


Out[82]:
array([False,  True,  True, False,  True,  True,  True], dtype=bool)

In [84]:
data[-(names=='Bob')]


Out[84]:
array([[-0.37395502, -0.70259806,  0.4091842 , -1.30443703],
       [-1.14453328,  0.05213632,  0.88174199,  1.31972556],
       [ 0.44559697, -0.0746147 ,  0.95039384,  0.34861174],
       [-0.27046058,  0.54169393, -0.49653988, -0.67832727],
       [ 0.01283908,  1.46510777, -1.17785195, -0.83932524]])

In [86]:
data[data<0,]


Out[86]:
array([-1.09360937, -0.90531348, -0.37395502, -0.70259806, -1.30443703,
       -1.14453328, -0.64446294, -0.0746147 , -0.27046058, -0.49653988,
       -0.67832727, -1.17785195, -0.83932524])

In [87]:
names!='Joe'


Out[87]:
array([ True, False,  True,  True,  True, False, False], dtype=bool)

In [102]:
arr3 = numpy.arange(0,32).reshape(8,4)

In [103]:
arr3


Out[103]:
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15],
       [16, 17, 18, 19],
       [20, 21, 22, 23],
       [24, 25, 26, 27],
       [28, 29, 30, 31]])

In [104]:
for i in range(8):
    arr3[i]=i *i

In [105]:
arr3


Out[105]:
array([[ 0,  0,  0,  0],
       [ 1,  1,  1,  1],
       [ 4,  4,  4,  4],
       [ 9,  9,  9,  9],
       [16, 16, 16, 16],
       [25, 25, 25, 25],
       [36, 36, 36, 36],
       [49, 49, 49, 49]])

In [94]:
for i in range(8):
    arr3[i] = np.sqrt(i)

In [95]:
arr3


Out[95]:
array([[0, 0, 0, 0],
       [1, 1, 1, 1],
       [1, 1, 1, 1],
       [1, 1, 1, 1],
       [2, 2, 2, 2],
       [2, 2, 2, 2],
       [2, 2, 2, 2],
       [2, 2, 2, 2]])

In [99]:
np.arange(2,10,2).reshape(2,2)


Out[99]:
array([[2, 4],
       [6, 8]])

In [106]:
arr3


Out[106]:
array([[ 0,  0,  0,  0],
       [ 1,  1,  1,  1],
       [ 4,  4,  4,  4],
       [ 9,  9,  9,  9],
       [16, 16, 16, 16],
       [25, 25, 25, 25],
       [36, 36, 36, 36],
       [49, 49, 49, 49]])

In [107]:
arr3[[7,1,5,4]]


Out[107]:
array([[49, 49, 49, 49],
       [ 1,  1,  1,  1],
       [25, 25, 25, 25],
       [16, 16, 16, 16]])

In [108]:
arr3[[-1,-2,-3]]


Out[108]:
array([[49, 49, 49, 49],
       [36, 36, 36, 36],
       [25, 25, 25, 25]])

In [110]:
np.arange(10).reshape(5,2).T


Out[110]:
array([[0, 2, 4, 6, 8],
       [1, 3, 5, 7, 9]])

In [111]:
arr = np.random.randn(6,3)

In [113]:
np.dot(arr, arr.T)


Out[113]:
array([[ 0.51734947,  1.21713086, -0.29672576, -0.37113039, -0.77473654,
        -0.63585485],
       [ 1.21713086,  7.92984824, -0.33583527, -0.49289251, -0.17026626,
        -2.62695746],
       [-0.29672576, -0.33583527,  4.40680511, -2.92937707,  1.83305835,
         2.72679298],
       [-0.37113039, -0.49289251, -2.92937707,  2.68041665, -0.27657023,
        -1.46757568],
       [-0.77473654, -0.17026626,  1.83305835, -0.27657023,  2.08249062,
         1.32046774],
       [-0.63585485, -2.62695746,  2.72679298, -1.46757568,  1.32046774,
         2.45135471]])

In [114]:
x = np.random.randn(8)

In [117]:
y = np.random.randn(8)

In [118]:
np.maximum(x,y)


Out[118]:
array([ 1.79062298,  1.26387338,  0.09340246,  1.02691194,  1.23169552,
        0.30351701,  0.71981921,  0.64717783])

In [119]:
print x 
print y


[ 1.79062298  1.26387338 -0.13619626  1.02691194 -1.64237661 -1.88162414
  0.71981921  0.64717783]
[-0.55212918 -0.95515959  0.09340246  0.46170599  1.23169552  0.30351701
 -0.42911135  0.52309628]

In [120]:
np.minimum(x,y)


Out[120]:
array([-0.55212918, -0.95515959, -0.13619626,  0.46170599, -1.64237661,
       -1.88162414, -0.42911135,  0.52309628])

In [121]:
np.log10(x)


Out[121]:
array([ 0.25300415,  0.10170357,         nan,  0.0115332 ,         nan,
               nan, -0.14277657, -0.18897637])

In [122]:
points = np.arange(-5,5,0.01)

In [123]:
xs, ys = np.meshgrid(points, points)

In [126]:
xs.shape


Out[126]:
(1000, 1000)

In [127]:
import matplotlib.pyplot as plt

In [128]:
z = np.sqrt(xs **2 + ys**2)

In [130]:
z.shape


Out[130]:
(1000, 1000)

In [140]:
x = np.arange(0,20,1).reshape(5,4)
y = np.arange(-20,0,1).reshape(5,4)

In [141]:
x


Out[141]:
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15],
       [16, 17, 18, 19]])

In [142]:
y


Out[142]:
array([[-20, -19, -18, -17],
       [-16, -15, -14, -13],
       [-12, -11, -10,  -9],
       [ -8,  -7,  -6,  -5],
       [ -4,  -3,  -2,  -1]])

In [144]:
np.sqrt(x **2 + y**2)


Out[144]:
array([[ 20.        ,  19.02629759,  18.11077028,  17.2626765 ],
       [ 16.4924225 ,  15.8113883 ,  15.23154621,  14.76482306],
       [ 14.4222051 ,  14.2126704 ,  14.14213562,  14.2126704 ],
       [ 14.4222051 ,  14.76482306,  15.23154621,  15.8113883 ],
       [ 16.4924225 ,  17.2626765 ,  18.11077028,  19.02629759]])

In [145]:
plt.imshow(z, cmap=plt.cm.gray);
plt.colorbar()


Out[145]:
<matplotlib.colorbar.Colorbar instance at 0xa1718ec>

In [147]:
plt.imshow(np.sqrt(x**2+y**2), cmap=plt.cm.gray)


Out[147]:
<matplotlib.image.AxesImage at 0xa414d4c>

In [148]:
xarr = np.array([1.1, 1.2, 1.3, 1.4, 1.5])
yarr = np.array([2.1, 2.2, 2.3, 2.4, 2.5])

In [149]:
cond = np.array([True, False, True, True, False])

In [151]:
result = [(x if c else y)
    for x, y, c in zip(xarr, yarr, cond)]

In [152]:
result


Out[152]:
[1.1000000000000001, 2.2000000000000002, 1.3, 1.3999999999999999, 2.5]

In [153]:
np.where(cond, xarr,yarr)


Out[153]:
array([ 1.1,  2.2,  1.3,  1.4,  2.5])

In [160]:
arr = randn(4,4)

In [161]:
arr


Out[161]:
array([[-1.10249481, -0.08221754,  0.11138115,  0.39825508],
       [ 1.0364754 , -0.54202135, -0.41778656, -0.41056386],
       [-0.92778415, -1.19733566,  0.62839378, -1.76892091],
       [-1.15500915,  1.28359408, -0.35847023,  4.10455769]])

In [163]:
np.where(arr<0, -2, 2)


Out[163]:
array([[-2, -2,  2,  2],
       [ 2, -2, -2, -2],
       [-2, -2,  2, -2],
       [-2,  2, -2,  2]])

In [164]:
arr = np.random.randn(5, 4)

In [165]:
arr


Out[165]:
array([[-0.09959617, -1.28264547,  1.27361255,  0.79844092],
       [-0.06189173,  0.37592233, -0.62328988, -0.79622039],
       [-0.13788425, -0.65199055, -0.34014568,  0.04334918],
       [ 0.82120666,  0.18680665,  0.34653684,  0.83482546],
       [-0.7151806 ,  0.73294358,  1.80029196,  0.82873697]])

In [166]:
randn(5,4)


Out[166]:
array([[-0.07433173, -0.27939414,  0.52463719,  0.23857519],
       [ 1.81222306, -0.8975207 ,  0.25306055, -1.14177095],
       [ 1.90129335, -0.65993344,  0.82611147,  1.97379024],
       [ 1.34255453, -0.23488482,  0.55968085, -1.50483841],
       [ 1.45206949,  1.48300971,  0.62631845, -0.07570758]])

In [168]:
arr.mean()


Out[168]:
0.16669141966887505

In [170]:
arr.mean(axis=0)


Out[170]:
array([-0.03866921, -0.12779269,  0.49140116,  0.34182643])

In [171]:
arr = randn(100)

In [172]:
(arr >0 ).sum()


Out[172]:
46

In [173]:
arr = randn(10)

In [174]:
arr


Out[174]:
array([ 1.33412081, -2.06028463,  0.63268218, -0.74666085, -0.19489063,
       -0.18409261, -1.55559471,  0.37438551, -0.27465669, -1.56468831])

In [175]:
arr.sort()

In [176]:
arr


Out[176]:
array([-2.06028463, -1.56468831, -1.55559471, -0.74666085, -0.27465669,
       -0.19489063, -0.18409261,  0.37438551,  0.63268218,  1.33412081])

In [185]:
arr = np.random.randn(20).reshape(4,5)

In [179]:
arr.sort(1)

In [186]:
arr


Out[186]:
array([[ 0.58514366, -0.32043968,  0.55508614, -0.7031061 , -0.1988212 ],
       [ 0.07017971, -1.21115278,  0.28080207, -0.46793197,  0.41480595],
       [-0.87180196, -1.00645114,  0.7082612 ,  0.16743525,  0.30393744],
       [ 1.3981531 , -1.65009204,  0.45035447,  1.69455371, -1.55583254]])

In [187]:
arr.sort(1)

In [188]:
arr


Out[188]:
array([[-0.7031061 , -0.32043968, -0.1988212 ,  0.55508614,  0.58514366],
       [-1.21115278, -0.46793197,  0.07017971,  0.28080207,  0.41480595],
       [-1.00645114, -0.87180196,  0.16743525,  0.30393744,  0.7082612 ],
       [-1.65009204, -1.55583254,  0.45035447,  1.3981531 ,  1.69455371]])

In [190]:
arr.sort(0)

In [191]:
arr


Out[191]:
array([[-1.65009204, -1.55583254, -0.1988212 ,  0.28080207,  0.41480595],
       [-1.21115278, -0.87180196,  0.07017971,  0.30393744,  0.58514366],
       [-1.00645114, -0.46793197,  0.16743525,  0.55508614,  0.7082612 ],
       [-0.7031061 , -0.32043968,  0.45035447,  1.3981531 ,  1.69455371]])

In [199]:
random.randint(0,5)


Out[199]:
0

In [ ]: