Skip to content

Instantly share code, notes, and snippets.

@ikoustou
Created March 2, 2018 17:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ikoustou/a3c6687a23e44364cedcaa466ec821e6 to your computer and use it in GitHub Desktop.
Save ikoustou/a3c6687a23e44364cedcaa466ec821e6 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import numpy as np"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Generate a simple 1-Dimension numpy array of 11 elements starting from 0 to 10"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"arr1 = np.arange(11)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#show arr1\n",
"arr1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Convert a python list to numpy array"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([1, 2, 3])"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lst1 = [1, 2, 3]\n",
"np.array(lst1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The same for 2-D"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"matrix = [[1,2,3] , [4,5,6] , [7,8,9]]"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[[1, 2, 3], [4, 5, 6], [7, 8, 9]]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"matrix"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[1, 2, 3],\n",
" [4, 5, 6],\n",
" [7, 8, 9]])"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.array(matrix)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Generate a 1-D numpy array with all even elements between 0 and 10, included"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 0, 2, 4, 6, 8, 10])"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.arange(0,11,2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Generate 1-D numpy array of 5 zeros"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 0., 0., 0., 0., 0.])"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.zeros(5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Generate 2-D 2x3 numpy array of zeros"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 0., 0., 0.],\n",
" [ 0., 0., 0.]])"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.zeros((2,3)) #You need to put inner ()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Generate 1-D numpy array of 5 ones"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 1., 1., 1., 1., 1.])"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.ones(5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Generate 2-D 2x3 numpy array of ones"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 1., 1., 1.],\n",
" [ 1., 1., 1.]])"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.ones((2,3)) #You need to put inner ()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Generate 3x3 identity matrix = eye"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 1., 0., 0.],\n",
" [ 0., 1., 0.],\n",
" [ 0., 0., 1.]])"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.eye(3)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Generate a numpy array with random numbers (between 0-1)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 0.72526028, 0.97474182, 0.89614088, 0.76265354, 0.39250871])"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.random.rand(5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Generate a numpy array with random numbers sampled from the standard normal distribution."
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 1.07036282, -1.56199529, -1.23015833, 0.48928051, -1.42981476])"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.random.randn(5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Create a numpy array with 10 integers between 100 and 200"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"arr_int = np.random.randint(100,200,10)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([156, 160, 141, 180, 131, 167, 100, 154, 165, 187])"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"arr_int"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Find the max of the previous numpy array"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"187"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"arr_int.max()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Find the index of max"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"9"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"arr_int.argmax()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Find the dimensions (shape) of the previous array"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(10L,)"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"arr_int.shape #Attention 'shape' is attribute not method, so NO () needed"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"Reshape a numpy array"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[1, 2, 3],\n",
" [4, 5, 6],\n",
" [7, 8, 9]])"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Generate a (1-D) numpy array with numbers 1 to 9 and then reshape it to (2-D) 3x3\n",
"np.arange(1,10).reshape(3,3)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Selecting - Slicing an numpy array"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[4, 5, 6],\n",
" [7, 8, 9]])"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#select the last 2 rows of the previous array\n",
"arr2 = np.arange(1,10).reshape(3,3)\n",
"arr2[-2:,:]"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[2, 3],\n",
" [5, 6],\n",
" [8, 9]])"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#select the last 2 columns of the array\n",
"arr2[:,-2:]"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[4, 5],\n",
" [7, 8]])"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#select the 2x2 part which is left-down= the first 2 columns of the last 2 rows\n",
"arr2[-2:,0:2]"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([6, 7, 8, 9])"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#select the elements which are >5\n",
"arr2[arr2>5]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"LINEAR ALGEBRA"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Matrix multiplication"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[1, 2, 3, 4],\n",
" [5, 6, 7, 8]])"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#generate two numpy arrays A and B and multiply them\n",
"A = np.arange(1,9).reshape(2,4)\n",
"#show A\n",
"A"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 9, 10],\n",
" [11, 12],\n",
" [13, 14],\n",
" [15, 16]])"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"B = np.arange(9,17).reshape(4,2)\n",
"B"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[130, 140],\n",
" [322, 348]])"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#to multiply always use the numpy 'dot' method (or @ if you use python > 3.5 version)\n",
"np.dot(A, B)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Find the inverse matrix of a given one"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 0.77195598, 0.02168729, 0.90871421],\n",
" [ 0.28495607, 0.23777498, 0.52891162],\n",
" [ 0.13321728, 0.01671564, 0.33157281]])"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#create a 3x3 numpy array with random numbers\n",
"arr = np.random.rand(3,3)\n",
"\n",
"#show arr\n",
"arr"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 2.40883936, 0.27526085, -7.04079218],\n",
" [-0.82671318, 4.64237824, -5.13963078],\n",
" [-0.92613144, -0.34462965, 6.1038402 ]])"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#find the inverse of the previous array\n",
"arr_inv = np.linalg.inv(arr)\n",
"\n",
"#show arr_inv\n",
"arr_inv"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Verify that it is the inverse matrix. The multiplication between them (array and inverse) should give the identity matrix"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 1.00000000e+00, 0.00000000e+00, 0.00000000e+00],\n",
" [ 5.55111512e-17, 1.00000000e+00, -4.44089210e-16],\n",
" [ 5.55111512e-17, 0.00000000e+00, 1.00000000e+00]])"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.dot(arr, arr_inv)"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"#Yes it is the identity matrix (eye). The values e-17 are almost zero."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Find the determinant of an array, det(Arr)"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.029059065429436468"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.linalg.det(arr)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.14"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment