From 803bbbdff2ca065781b897624664c10848bd9442 Mon Sep 17 00:00:00 2001 From: Asabeneh Date: Fri, 13 Dec 2019 00:11:32 +0200 Subject: [PATCH] day 24 --- numpy.ipynb | 2072 --------------------------------------------------- 1 file changed, 2072 deletions(-) delete mode 100644 numpy.ipynb diff --git a/numpy.ipynb b/numpy.ipynb deleted file mode 100644 index a085242..0000000 --- a/numpy.ipynb +++ /dev/null @@ -1,2072 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "###### Author: Asabeneh Yetayeh\n", - "\n", - "# Numpy(Numberic Python)\n", - "\n", - "In this note book you will cover all what you need to know about Numpy. Inditon to numpy we will see how to use matplot lib python library which will help us to draw graphs and visualize data.\n", - "\n", - "So far, we have been using vscode but from now on I would recommend using Jupter Notebook. To access jupter notebook let's install [anaconda](https://www.anaconda.com/)" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "# Installation anconda numpy" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## How to import numpy (Numeric Python)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# A numpy array must have all items to be of the same data type, unlike lists.\n", - "# This is another significant difference." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "# How to import numpy\n", - "import numpy as np\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## How to check package version in python" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "numpy: 1.17.2\n" - } - ], - "source": [ - "# How to check the version of the numpy package\n", - "print('numpy:', np.__version__)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "['ALLOW_THREADS', 'AxisError', 'BUFSIZE', 'CLIP', 'ComplexWarning', 'DataSource', 'ERR_CALL', 'ERR_DEFAULT', 'ERR_IGNORE', 'ERR_LOG', 'ERR_PRINT', 'ERR_RAISE', 'ERR_WARN', 'FLOATING_POINT_SUPPORT', 'FPE_DIVIDEBYZERO', 'FPE_INVALID', 'FPE_OVERFLOW', 'FPE_UNDERFLOW', 'False_', 'Inf', 'Infinity', 'MAXDIMS', 'MAY_SHARE_BOUNDS', 'MAY_SHARE_EXACT', 'MachAr', 'ModuleDeprecationWarning', 'NAN', 'NINF', 'NZERO', 'NaN', 'PINF', 'PZERO', 'RAISE', 'RankWarning', 'SHIFT_DIVIDEBYZERO', 'SHIFT_INVALID', 'SHIFT_OVERFLOW', 'SHIFT_UNDERFLOW', 'ScalarType', 'Tester', 'TooHardError', 'True_', 'UFUNC_BUFSIZE_DEFAULT', 'UFUNC_PYVALS_NAME', 'VisibleDeprecationWarning', 'WRAP', '_NoValue', '_UFUNC_API', '__NUMPY_SETUP__', '__all__', '__builtins__', '__cached__', '__config__', '__doc__', '__file__', '__git_revision__', '__loader__', '__mkl_version__', '__name__', '__package__', '__path__', '__spec__', '__version__', '_add_newdoc_ufunc', '_distributor_init', '_globals', '_mat', '_pytesttester', 'abs', 'absolute', 'absolute_import', 'add', 'add_docstring', 'add_newdoc', 'add_newdoc_ufunc', 'alen', 'all', 'allclose', 'alltrue', 'amax', 'amin', 'angle', 'any', 'append', 'apply_along_axis', 'apply_over_axes', 'arange', 'arccos', 'arccosh', 'arcsin', 'arcsinh', 'arctan', 'arctan2', 'arctanh', 'argmax', 'argmin', 'argpartition', 'argsort', 'argwhere', 'around', 'array', 'array2string', 'array_equal', 'array_equiv', 'array_repr', 'array_split', 'array_str', 'asanyarray', 'asarray', 'asarray_chkfinite', 'ascontiguousarray', 'asfarray', 'asfortranarray', 'asmatrix', 'asscalar', 'atleast_1d', 'atleast_2d', 'atleast_3d', 'average', 'bartlett', 'base_repr', 'binary_repr', 'bincount', 'bitwise_and', 'bitwise_not', 'bitwise_or', 'bitwise_xor', 'blackman', 'block', 'bmat', 'bool', 'bool8', 'bool_', 'broadcast', 'broadcast_arrays', 'broadcast_to', 'busday_count', 'busday_offset', 'busdaycalendar', 'byte', 'byte_bounds', 'bytes0', 'bytes_', 'c_', 'can_cast', 'cast', 'cbrt', 'cdouble', 'ceil', 'cfloat', 'char', 'character', 'chararray', 'choose', 'clip', 'clongdouble', 'clongfloat', 'column_stack', 'common_type', 'compare_chararrays', 'compat', 'complex', 'complex128', 'complex256', 'complex64', 'complex_', 'complexfloating', 'compress', 'concatenate', 'conj', 'conjugate', 'convolve', 'copy', 'copysign', 'copyto', 'core', 'corrcoef', 'correlate', 'cos', 'cosh', 'count_nonzero', 'cov', 'cross', 'csingle', 'ctypeslib', 'cumprod', 'cumproduct', 'cumsum', 'datetime64', 'datetime_as_string', 'datetime_data', 'deg2rad', 'degrees', 'delete', 'deprecate', 'deprecate_with_doc', 'diag', 'diag_indices', 'diag_indices_from', 'diagflat', 'diagonal', 'diff', 'digitize', 'disp', 'divide', 'division', 'divmod', 'dot', 'double', 'dsplit', 'dstack', 'dtype', 'e', 'ediff1d', 'einsum', 'einsum_path', 'emath', 'empty', 'empty_like', 'equal', 'errstate', 'euler_gamma', 'exp', 'exp2', 'expand_dims', 'expm1', 'extract', 'eye', 'fabs', 'fastCopyAndTranspose', 'fft', 'fill_diagonal', 'find_common_type', 'finfo', 'fix', 'flatiter', 'flatnonzero', 'flexible', 'flip', 'fliplr', 'flipud', 'float', 'float128', 'float16', 'float32', 'float64', 'float_', 'float_power', 'floating', 'floor', 'floor_divide', 'fmax', 'fmin', 'fmod', 'format_float_positional', 'format_float_scientific', 'format_parser', 'frexp', 'frombuffer', 'fromfile', 'fromfunction', 'fromiter', 'frompyfunc', 'fromregex', 'fromstring', 'full', 'full_like', 'fv', 'gcd', 'generic', 'genfromtxt', 'geomspace', 'get_array_wrap', 'get_include', 'get_printoptions', 'getbufsize', 'geterr', 'geterrcall', 'geterrobj', 'gradient', 'greater', 'greater_equal', 'half', 'hamming', 'hanning', 'heaviside', 'histogram', 'histogram2d', 'histogram_bin_edges', 'histogramdd', 'hsplit', 'hstack', 'hypot', 'i0', 'identity', 'iinfo', 'imag', 'in1d', 'index_exp', 'indices', 'inexact', 'inf', 'info', 'infty', 'inner', 'insert', 'int', 'int0', 'int16', 'int32', 'int64', 'int8', 'int_', 'int_asbuffer', 'intc', 'integer', 'interp', 'intersect1d', 'intp', 'invert', 'ipmt', 'irr', 'is_busday', 'isclose', 'iscomplex', 'iscomplexobj', 'isfinite', 'isfortran', 'isin', 'isinf', 'isnan', 'isnat', 'isneginf', 'isposinf', 'isreal', 'isrealobj', 'isscalar', 'issctype', 'issubclass_', 'issubdtype', 'issubsctype', 'iterable', 'ix_', 'kaiser', 'kron', 'lcm', 'ldexp', 'left_shift', 'less', 'less_equal', 'lexsort', 'lib', 'linalg', 'linspace', 'little_endian', 'load', 'loads', 'loadtxt', 'log', 'log10', 'log1p', 'log2', 'logaddexp', 'logaddexp2', 'logical_and', 'logical_not', 'logical_or', 'logical_xor', 'logspace', 'long', 'longcomplex', 'longdouble', 'longfloat', 'longlong', 'lookfor', 'ma', 'mafromtxt', 'mask_indices', 'mat', 'math', 'matmul', 'matrix', 'matrixlib', 'max', 'maximum', 'maximum_sctype', 'may_share_memory', 'mean', 'median', 'memmap', 'meshgrid', 'mgrid', 'min', 'min_scalar_type', 'minimum', 'mintypecode', 'mirr', 'mkl', 'mod', 'modf', 'moveaxis', 'msort', 'multiply', 'nan', 'nan_to_num', 'nanargmax', 'nanargmin', 'nancumprod', 'nancumsum', 'nanmax', 'nanmean', 'nanmedian', 'nanmin', 'nanpercentile', 'nanprod', 'nanquantile', 'nanstd', 'nansum', 'nanvar', 'nbytes', 'ndarray', 'ndenumerate', 'ndfromtxt', 'ndim', 'ndindex', 'nditer', 'negative', 'nested_iters', 'newaxis', 'nextafter', 'nonzero', 'not_equal', 'nper', 'npv', 'numarray', 'number', 'obj2sctype', 'object', 'object0', 'object_', 'ogrid', 'oldnumeric', 'ones', 'ones_like', 'os', 'outer', 'packbits', 'pad', 'partition', 'percentile', 'pi', 'piecewise', 'place', 'pmt', 'poly', 'poly1d', 'polyadd', 'polyder', 'polydiv', 'polyfit', 'polyint', 'polymul', 'polynomial', 'polysub', 'polyval', 'positive', 'power', 'ppmt', 'print_function', 'printoptions', 'prod', 'product', 'promote_types', 'ptp', 'put', 'put_along_axis', 'putmask', 'pv', 'quantile', 'r_', 'rad2deg', 'radians', 'random', 'rank', 'rate', 'ravel', 'ravel_multi_index', 'real', 'real_if_close', 'rec', 'recarray', 'recfromcsv', 'recfromtxt', 'reciprocal', 'record', 'remainder', 'repeat', 'require', 'reshape', 'resize', 'result_type', 'right_shift', 'rint', 'roll', 'rollaxis', 'roots', 'rot90', 'round', 'round_', 'row_stack', 's_', 'safe_eval', 'save', 'savetxt', 'savez', 'savez_compressed', 'sctype2char', 'sctypeDict', 'sctypeNA', 'sctypes', 'searchsorted', 'select', 'set_numeric_ops', 'set_printoptions', 'set_string_function', 'setbufsize', 'setdiff1d', 'seterr', 'seterrcall', 'seterrobj', 'setxor1d', 'shape', 'shares_memory', 'short', 'show_config', 'sign', 'signbit', 'signedinteger', 'sin', 'sinc', 'single', 'singlecomplex', 'sinh', 'size', 'sometrue', 'sort', 'sort_complex', 'source', 'spacing', 'split', 'sqrt', 'square', 'squeeze', 'stack', 'std', 'str', 'str0', 'str_', 'string_', 'subtract', 'sum', 'swapaxes', 'sys', 'take', 'take_along_axis', 'tan', 'tanh', 'tensordot', 'test', 'testing', 'tile', 'timedelta64', 'trace', 'tracemalloc_domain', 'transpose', 'trapz', 'tri', 'tril', 'tril_indices', 'tril_indices_from', 'trim_zeros', 'triu', 'triu_indices', 'triu_indices_from', 'true_divide', 'trunc', 'typeDict', 'typeNA', 'typecodes', 'typename', 'ubyte', 'ufunc', 'uint', 'uint0', 'uint16', 'uint32', 'uint64', 'uint8', 'uintc', 'uintp', 'ulonglong', 'unicode', 'unicode_', 'union1d', 'unique', 'unpackbits', 'unravel_index', 'unsignedinteger', 'unwrap', 'ushort', 'vander', 'var', 'vdot', 'vectorize', 'version', 'void', 'void0', 'vsplit', 'vstack', 'warnings', 'where', 'who', 'zeros', 'zeros_like']\n" - } - ], - "source": [ - "# Checking the available methods\n", - "print(dir(np))" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "0.3010299956639812\nFalse\n" - } - ], - "source": [ - "print(np.log10(2))\n", - "print(np.not_equal(10, 10))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Creating a list in python" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "\n[1, 2, 3, 4, 5]\n[[0, 1, 2], [3, 4, 5], [6, 7, 8]]\n" - } - ], - "source": [ - "# Creating python List\n", - "\n", - "python_list = [1,2,3,4,5]\n", - "# Checking data types\n", - "print(type (python_list))\n", - "print(python_list)\n", - "two_dimensional_list = [[0,1,2], [3,4,5], [6,7,8]]\n", - "print(two_dimensional_list)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Creating numpy array using numpy" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "\n[1 2 3 4 5]\n" - } - ], - "source": [ - "# Creating Numpy(Numerical Python) array from python list\n", - "numpy_array_from_list = np.array(python_list)\n", - "print(type (numpy_array_from_list))\n", - "print(numpy_array_from_list)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([1, 2, 3, 4, 5])" - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "numy_array_from_list2 = np.array(python_list)\n", - "numy_array_from_list2" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([1., 2., 3., 4., 5.])" - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "numy_array_from_list2 = np.array(python_list, dtype=float)\n", - "numy_array_from_list2" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([False, True, True, False, False])" - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "numpy_bool_array = np.array([0, 1, -1, 0, 0], dtype=bool)\n", - "numpy_bool_array" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "\n[[0 1 2]\n [3 4 5]\n [6 7 8]]\n" - } - ], - "source": [ - "\n", - "numpy_two_dimensional_list = np.array(two_dimensional_list)\n", - "print(type (numpy_two_dimensional_list))\n", - "print(numpy_two_dimensional_list)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([1, 2, 3, 4, 5])" - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "numpy_array_from_list" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([[0, 1, 2],\n [3, 4, 5],\n [6, 7, 8]])" - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "numpy_two_dimensional_list" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Converting numpy array to list" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "\none dimensional array: [1, 2, 3, 4, 5]\ntwo dimensional array: [[0, 1, 2], [3, 4, 5], [6, 7, 8]]\n" - } - ], - "source": [ - "# We can always convert an array back to a python list using tolist().\n", - "np_to_list = numpy_array_from_list.tolist()\n", - "print(type (np_to_list))\n", - "print('one dimensional array:', np_to_list)\n", - "print('two dimensional array: ', numpy_two_dimensional_list.tolist())" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([[0, 1, 2],\n [3, 4, 5],\n [6, 7, 8]])" - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "numpy_two_dimensional_list" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Creating numpy array from tuple" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "\npython_tuple: (1, 2, 3, 4, 5)\n\nnumpy_array_from_tuple: [1 2 3 4 5]\n" - } - ], - "source": [ - "# Numpy array from tuple\n", - "\n", - "# Creating tuple in Python\n", - "\n", - "python_tuple = (1,2,3,4,5)\n", - "print(type (python_tuple))\n", - "print('python_tuple: ', python_tuple)\n", - "\n", - "numpy_array_from_tuple = np.array(python_tuple)\n", - "print(type (numpy_array_from_tuple))\n", - "print('numpy_array_from_tuple: ', numpy_array_from_tuple)" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([1, 2, 3, 4, 5])" - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "numpy_array_from_tuple" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Shape of numpy array\n", - "The shape method provide the shape of the array as a tuple. The first is the row and the second is the column" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "[1 2 3 4 5]\nshape of nums: (5,)\n[[0 1 2]\n [3 4 5]\n [6 7 8]]\nshape of numpy_two_dimensional_list: (3, 3)\n(3, 4)\n" - } - ], - "source": [ - "nums = np.array([1, 2, 3, 4, 5])\n", - "print(nums)\n", - "print('shape of nums: ', nums.shape)\n", - "print(numpy_two_dimensional_list)\n", - "print('shape of numpy_two_dimensional_list: ', numpy_two_dimensional_list.shape)\n", - "three_by_four_array = np.array([[0, 1, 2, 3],\n", - " [4,5,6,7],\n", - " [8,9,10, 11]])\n", - "print(three_by_four_array.shape)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Data type of numpy array\n", - "\n", - "Type of data types: str, int, float, complex, bool, list, None" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "[-3 -2 -1 0 1 2 3]\nint64\n[-3. -2. -1. 0. 1. 2. 3.]\nfloat64\n" - } - ], - "source": [ - "int_lists = [-3, -2, -1, 0, 1, 2,3]\n", - "int_array = np.array(int_lists)\n", - "float_array = np.array(int_lists, dtype=float)\n", - "\n", - "print(int_array)\n", - "print(int_array.dtype)\n", - "print(float_array)\n", - "print(float_array.dtype)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Size of a numpy array\n", - "Instead of len size is used to get the length of items in a numpy array" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "5" - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "numpy_array_from_list.size" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "9" - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "numpy_two_dimensional_list.size" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Mathematical Operation\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "original array: [1 2 3 4 5]\n[11 12 13 14 15]\n[-9 -8 -7 -6 -5]\n[10 20 30 40 50]\n" - } - ], - "source": [ - "# Mathematical Operation\n", - "\n", - "# Addition\n", - "print('original array: ', numpy_array_from_list)\n", - "ten_plus_original = numpy_array_from_list + 10\n", - "print(ten_plus_original)\n", - "ten_minus_original = numpy_array_from_list - 10\n", - "print(ten_minus_original)\n", - "# Multiplication\n", - "ten_times_original = numpy_array_from_list * 10\n", - "print(ten_times_original)" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "int64\nfloat64\nfloat64\n" - } - ], - "source": [ - "# Float numbers\n", - "\n", - "numpy_int_list = np.array([1,2,3,4])\n", - "numpy_float_list = np.array([1.1, 2.0,3.2])\n", - "numpy_float_list2 = np.array([1.1,2.0,3.2])\n", - "\n", - "print(numpy_int_list.dtype)\n", - "print(numpy_float_list2.dtype)\n", - "print(numpy_float_list.dtype)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Converting type from float to int" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([1, 2, 3])" - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Converting type from float to int\n", - "numpy_float_list.astype('int')\n" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array(['1', '2', '3'], dtype='\n[[1 2 3]\n [4 5 6]\n [7 8 9]]\nShape: (3, 3)\nSize: 9\nData type: int64\n" - } - ], - "source": [ - "# 2 Dimension Array\n", - "two_dimension_array = np.array([(1,2,3),(4,5,6), (7,8,9)])\n", - "print(type (two_dimension_array))\n", - "print(two_dimension_array)\n", - "print('Shape: ', two_dimension_array.shape)\n", - "print('Size:', two_dimension_array.size)\n", - "print('Data type:', two_dimension_array.dtype)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([[1, 2, 3],\n [4, 5, 6],\n [7, 8, 9]])" - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "two_dimension_array" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## How to extract specific items from an array?" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "First row: [1 2 3]\nSecond row: [4 5 6]\nThird row: [7 8 9]\n" - } - ], - "source": [ - "first_row = two_dimension_array[0]\n", - "second_row = two_dimension_array[1]\n", - "third_row = two_dimension_array[2]\n", - "print('First row:', first_row)\n", - "print('Second row:', second_row)\n", - "print('Third row: ', third_row)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "First column: [1 4 7]\nSecond column: [2 5 8]\nThird column: [3 6 9]\n[[1 2 3]\n [4 5 6]\n [7 8 9]]\n" - } - ], - "source": [ - "first_column= two_dimension_array[:,0]\n", - "second_column = two_dimension_array[:,1]\n", - "third_column = two_dimension_array[:,2]\n", - "print('First column:', first_column)\n", - "print('Second column:', second_column)\n", - "print('Third column: ', third_column)\n", - "print(two_dimension_array)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Slicing in numpy is similar to list" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([[1, 2],\n [4, 5]])" - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "first_two_rows_and_columns = two_dimension_array[0:2, 0:2]\n", - "first_two_rows_and_columns" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## How to reverse the rows and the whole array?" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([[1, 2, 3],\n [4, 5, 6],\n [7, 8, 9]])" - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "two_dimension_array[::]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Reverse only the row positions" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([[7, 8, 9],\n [4, 5, 6],\n [1, 2, 3]])" - }, - "execution_count": 35, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "two_dimension_array[::-1,]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Reverse the row and column positions" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([[9, 8, 7],\n [6, 5, 4],\n [3, 2, 1]])" - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "two_dimension_array[::-1,::-1]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## How to represent missing values and infinite?" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "[[1 2 3]\n [4 5 6]\n [7 8 9]]\n[[ 1 2 3]\n [ 4 55 44]\n [ 7 8 9]]\n" - } - ], - "source": [ - "print(two_dimension_array)\n", - "two_dimension_array[1,1] = 55\n", - "two_dimension_array[1,2] =44\n", - "print(two_dimension_array)" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([[0, 0, 0],\n [0, 0, 0],\n [0, 0, 0]])" - }, - "execution_count": 38, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Numpy Zeroes\n", - "# numpy.zeros(shape, dtype=float, order='C')\n", - "numpy_zeroes = np.zeros((3,3),dtype=int,order='C')\n", - "numpy_zeroes" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "[[1 1 1]\n [1 1 1]\n [1 1 1]]\n" - } - ], - "source": [ - "# Numpy Zeroes\n", - "numpy_ones = np.ones((3,3),dtype=int,order='C')\n", - "print(numpy_ones)" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "metadata": {}, - "outputs": [], - "source": [ - "twoes = numpy_ones * 2" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "[[1 2 3]\n [4 5 6]]\n[[1 2]\n [3 4]\n [5 6]]\n" - } - ], - "source": [ - "# Reshape\n", - "# numpy.reshape(), numpy.flatten()\n", - "first_shape = np.array([(1,2,3), (4,5,6)])\n", - "print(first_shape)\n", - "reshaped = first_shape.reshape(3,2)\n", - "print(reshaped)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([1, 2, 3, 4, 5, 6])" - }, - "execution_count": 42, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "flattened = reshaped.flatten()\n", - "flattened" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "[5 7 9]\nHorizontal Append: [1 2 3 4 5 6]\n" - } - ], - "source": [ - "## Horitzontal Stack\n", - "np_list_one = np.array([1,2,3])\n", - "np_list_two = np.array([4,5,6])\n", - "\n", - "print(np_list_one + np_list_two)\n", - "\n", - "print('Horizontal Append:', np.hstack((np_list_one, np_list_two)))" - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "Vertical Append: [[1 2 3]\n [4 5 6]]\n" - } - ], - "source": [ - "## Vertical Stack\n", - "print('Vertical Append:', np.vstack((np_list_one, np_list_two)))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Generating Random Numbers" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "0.1477747854886351" - }, - "execution_count": 45, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Generate a random float number\n", - "random_float = np.random.random()\n", - "random_float" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([0.66880516, 0.58036922, 0.32565217, 0.75833764, 0.33492522])" - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Generate a random float number\n", - "random_floats = np.random.random(5)\n", - "random_floats" - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "1" - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Generating a random integers between 0 and 10\n", - "random_int = np.random.randint(0, 11)\n", - "random_int" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([6, 7, 6, 5])" - }, - "execution_count": 48, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Generating a random integers between 2 and 11, and creating a one row array\n", - "random_int = np.random.randint(2,10, size=4)\n", - "random_int" - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([[4, 8, 7],\n [6, 3, 8],\n [8, 3, 4]])" - }, - "execution_count": 49, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Generating a random integers between 0 and 10\n", - "random_int = np.random.randint(2,10, size=(3,3))\n", - "random_int" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([ 78.06228226, 80.47997605, 67.16871012, 100.01106251,\n 73.43427077, 70.90858509, 68.18228819, 88.71233066,\n 86.23943257, 99.66232512, 80.46786746, 105.15418964,\n 78.37084644, 74.10533462, 81.86581832, 78.34056027,\n 72.13209789, 72.69912968, 111.64843341, 96.02940931,\n 80.82983836, 49.2603406 , 82.11783362, 82.00473287,\n 68.36971774, 83.44601599, 75.22668092, 67.16102449,\n 84.12544108, 84.89425903, 69.87305909, 96.80967774,\n 80.89504255, 33.82173197, 65.9476567 , 114.69465093,\n 87.58440669, 59.44914567, 69.09711011, 81.28734677,\n 54.02167729, 76.24325763, 81.07595137, 78.25321296,\n 56.06354536, 74.88790644, 65.37671466, 73.0608308 ,\n 83.53329124, 56.11613468, 69.70534252, 105.03153668,\n 92.09774157, 76.27471759, 66.30470031, 75.26872422,\n 104.47856237, 69.43495655, 78.47940174, 66.33033948,\n 88.47445255, 53.07577185, 106.87650496, 84.80340513,\n 92.70276459, 66.26854244, 92.80079253, 90.54206113,\n 76.68091973, 88.37271982, 99.28200027, 85.85283546,\n 81.3903595 , 64.08758723, 56.9362159 , 51.233451 ,\n 72.95037141, 81.21256832, 95.22519781, 69.18242214,\n 47.90222857, 87.08328607, 80.42971413, 94.36731459,\n 52.62876844, 65.72917254, 62.00665453, 60.2468513 ,\n 89.17802841, 95.21163386, 87.46425376, 110.2230449 ,\n 72.34068564, 69.43244175, 79.42739361, 91.96167318,\n 88.71546515, 46.20839431, 93.30432944, 83.55539894,\n 88.63548129, 73.50049682, 59.96380522, 93.58951555,\n 120.13068226, 70.06924206, 65.69839628, 83.23774129,\n 79.25570985, 71.89321258, 80.64905645, 76.07107192,\n 89.34416292, 98.82861126, 73.4790967 , 63.35301086,\n 83.76185379, 100.64189068, 70.13596249, 64.50577384,\n 75.04897329, 78.99902225, 85.14751918, 69.71124641,\n 65.90879778, 90.30143113, 104.27014623, 84.86204287,\n 74.41819024, 62.6483838 , 90.39531176, 52.18361377,\n 56.10889369, 105.07634101, 74.60664275, 80.48560286,\n 93.92703692, 89.4721985 , 76.69992387, 87.55989167,\n 74.42497904, 93.34549716, 85.56512669, 91.27006247,\n 76.99063702, 74.51895242, 68.31335173, 61.82950247,\n 74.27565476, 75.47967285, 56.99448404, 77.83995971,\n 88.23766005, 64.25073627, 84.21727063, 72.73365378,\n 90.56998368, 61.90746621, 104.32735616, 33.51801517,\n 38.17830252, 91.00363097, 79.96743202, 92.59940851,\n 74.31161094, 78.25334346, 87.49652045, 65.10876645,\n 97.29702422, 71.21703521, 71.57154296, 55.67862433,\n 78.63567388, 77.39172292, 85.85382211, 76.1303165 ,\n 79.93907903, 55.86163862, 65.03007833, 98.06472484,\n 98.18297161, 86.35617188, 73.95928996, 81.58243288,\n 72.13009418, 85.57473551, 73.31333927, 90.54931228,\n 92.84532205, 84.5451769 , 86.73824099, 84.29718499,\n 108.54889407, 82.05896086, 64.74466701, 87.31905746,\n 70.86189615, 74.17689346, 98.68855732, 73.47579279,\n 112.8709868 , 73.95676101, 62.34891052, 89.75718241,\n 86.84831209, 84.76483197, 75.00712483, 89.66930311,\n 79.02327324, 111.2672887 , 65.93375863, 57.32720674,\n 55.36834689, 80.69909018, 96.25708549, 86.41302494,\n 106.71440179, 87.34716208, 53.87588225, 67.60260121,\n 71.74959277, 69.64175761, 61.62553359, 92.84685364,\n 88.39326749, 67.82375745, 78.88508202, 63.41683055,\n 83.33247265, 61.78182943, 69.47178609, 94.29415174,\n 71.34896978, 42.97502617, 94.36712783, 66.99952686,\n 71.18875098, 61.51192175, 58.25951442, 67.83145087,\n 93.1965335 , 78.841944 , 90.02731255, 108.67011039,\n 87.9282376 , 62.27183736, 84.46821305, 93.10995068,\n 81.79071208, 40.0635728 , 102.20724488, 88.6488238 ,\n 92.91848738, 93.32901714, 74.89123998, 102.44537103,\n 58.84904865, 80.17557578, 69.60840343, 65.11810179,\n 73.57184954, 103.42197477, 94.51878907, 76.34101893,\n 58.20236603, 76.15803306, 85.01092471, 102.62825199,\n 70.57778869, 64.55384487, 75.92847535, 108.29656951,\n 65.09564337, 71.97746096, 67.91685793, 98.37480773,\n 78.55584328, 58.79508008, 83.78716705, 85.51819492,\n 85.39472497, 86.48911498, 86.74878694, 88.82191939,\n 87.56668016, 68.18363072, 72.65452689, 86.89008749,\n 74.10734973, 55.4094851 , 66.84354188, 58.51715121,\n 90.78804647, 66.26231617, 83.23663878, 121.92253573,\n 94.17040645, 85.300603 , 83.28102031, 88.92437677,\n 47.92432906, 74.9123454 , 74.82372863, 102.34755849,\n 63.97023146, 91.42597585, 76.97286274, 89.99561505,\n 104.27334052, 65.28530687, 71.76722311, 76.99942849,\n 93.12862908, 88.29252813, 74.40020522, 59.83777803,\n 86.2692467 , 57.72956079, 92.21270412, 76.32248068,\n 74.39526899, 54.8414521 , 48.888437 , 106.77555705,\n 104.07932258, 62.61412927, 91.17935874, 69.99817706,\n 80.27041286, 85.57510819, 87.32432908, 94.01658731,\n 87.54240264, 68.81017962, 91.37078862, 82.47632639,\n 97.58252432, 87.48121013, 74.6234212 , 74.6986795 ,\n 76.65946615, 74.36683032, 86.98593152, 54.16182721,\n 95.90072974, 68.90556443, 88.8115489 , 61.33034803,\n 75.03376482, 85.67012786, 69.61414988, 77.9329127 ,\n 74.73350745, 50.98154773, 70.32859405, 81.82842611,\n 79.34651799, 56.61456886, 108.10555204, 88.22287037,\n 74.39100199, 76.41366393, 62.04351567, 83.27601537,\n 86.99514943, 71.91082253, 64.87485275, 95.53195338,\n 75.98938226, 50.46800926, 99.48823496, 87.43692335,\n 77.78589128, 70.70840352, 103.66404784, 98.84563267,\n 83.84939092, 63.35894729, 86.21033577, 113.4329368 ,\n 71.96158217, 85.28699953, 58.00992511, 79.71669981,\n 89.32418303, 39.37997338, 86.20379324, 65.66118568,\n 78.98887722, 116.59556808, 96.71728972, 62.82439269,\n 81.48105406, 50.10899439, 85.05778363, 75.00743273,\n 91.94666309, 56.79855211, 63.95730649, 62.68945327,\n 85.85109342, 83.27385995, 83.27264177, 73.24183525,\n 56.87217993, 68.80304416, 91.42472878, 96.91813936,\n 61.43286456, 60.19787993, 76.10324428, 76.02346429,\n 70.30878903, 111.39327281, 83.58888893, 100.87217758,\n 86.65284275, 80.57122349, 84.30929287, 83.29940119,\n 77.22425347, 83.70996324, 76.18292731, 70.66577399,\n 82.87365549, 60.97611143, 84.00291165, 73.75303205,\n 62.36634484, 81.03059977, 78.79641201, 66.80902035,\n 68.81283634, 95.40175522, 100.9812039 , 87.22874071,\n 66.37434254, 107.62870114, 89.95113086, 78.9459868 ,\n 55.74164355, 82.3878577 , 103.00808091, 103.92471237,\n 54.66425635, 79.29420733, 69.96882481, 72.17070955,\n 54.36635876, 90.92566622, 58.22358622, 53.1620387 ,\n 80.39951312, 82.04658674, 67.2881847 , 65.67690213,\n 108.66137872, 89.3519222 , 68.34664527, 94.67503978,\n 94.97036282, 86.17659241, 86.84161366, 74.67551798,\n 66.7113065 , 71.45805551, 100.196514 , 93.67226563,\n 56.40934843, 118.21100209, 82.9799281 , 88.62491982,\n 87.03019073, 57.79816924, 74.28981915, 82.88973048,\n 91.8436542 , 96.00113316, 69.95094311, 68.13895371,\n 52.58979642, 98.57099807, 80.22167709, 94.40292506,\n 83.31105998, 59.9926828 , 77.74859503, 94.56173455,\n 56.63442708, 70.99578669, 61.27584441, 71.64922331,\n 79.88262193, 74.69845801, 75.82961051, 87.75033865,\n 108.55912336, 57.56875358, 89.19231781, 58.2379943 ,\n 96.58276029, 75.04521478, 86.66189835, 74.0184621 ,\n 84.1612496 , 78.80287021, 82.40061125, 71.61704823,\n 96.52547727, 83.92205443, 89.18972954, 77.78097677,\n 79.54274882, 80.90208256, 114.55056822, 84.75557082,\n 75.76282328, 91.98124081, 74.84037922, 82.71645645,\n 83.13525585, 95.57640112, 69.43862495, 76.3638732 ,\n 78.8258523 , 82.79968036, 79.53328299, 97.14114949,\n 83.06939074, 77.62484757, 82.36762999, 67.32343718,\n 79.53488316, 110.55065547, 73.45111082, 74.11521981,\n 53.55164117, 97.21629361, 70.65778072, 81.77179281,\n 93.09918786, 84.64189076, 73.01267275, 82.05924077,\n 104.27148836, 73.18202528, 82.20035143, 70.11261095,\n 76.3956408 , 80.59874089, 76.60682684, 92.96876414,\n 77.70067312, 62.19425744, 74.23546655, 86.09897646,\n 95.3922493 , 65.96070337, 78.14115335, 88.77127978,\n 66.50819906, 69.67195613, 77.17798553, 73.6445897 ,\n 76.45981325, 91.34264205, 86.27955532, 70.29966357,\n 104.36673101, 97.05018014, 60.04493436, 85.11496696,\n 65.81390189, 84.86482526, 52.97518977, 74.57566331,\n 78.75310135, 85.77492172, 71.35722871, 106.11068985,\n 124.97210481, 64.21057686, 66.52047736, 106.94144838,\n 117.34122374, 88.50176593, 88.91385192, 107.97612164,\n 93.15004781, 58.76140505, 52.03809202, 92.62254407,\n 80.86381554, 100.43323091, 93.42890753, 72.523524 ,\n 80.29641867, 75.20448137, 74.66556513, 94.98379828,\n 74.78647058, 76.98338228, 74.84876293, 82.95665001,\n 88.35626775, 94.32698817, 71.14073011, 112.07773057,\n 80.00015636, 68.07692698, 113.49304812, 108.92762648,\n 68.67420516, 98.73515549, 84.32042451, 91.72139165,\n 66.4137705 , 69.93003756, 63.89062414, 82.64679468,\n 68.66601776, 64.30864809, 80.24191016, 53.43056906,\n 81.69719392, 87.34441433, 91.38770101, 59.16322365,\n 83.19726315, 61.75218797, 67.48675016, 64.09508776,\n 72.08408273, 80.05154611, 90.39502598, 89.20492664,\n 79.43005379, 103.62785263, 31.38686493, 72.00221598,\n 84.90436196, 87.71163029, 60.24661018, 98.14319475,\n 104.27390629, 82.13872268, 72.46160603, 75.6806385 ,\n 78.20961222, 67.04506469, 67.50202444, 90.78465477,\n 69.78798088, 84.57134186, 56.87529573, 84.77391649,\n 89.53774771, 65.85042351, 78.30539835, 78.39971562,\n 54.17582106, 66.14233741, 95.30687232, 80.38434415,\n 89.20059439, 60.08421512, 55.049331 , 101.52734573,\n 62.43599109, 78.53915989, 72.19896564, 116.79354989,\n 76.80593363, 70.02409537, 38.49989574, 73.04644811,\n 98.85180903, 79.5240704 , 66.31040168, 92.4980046 ,\n 83.34256192, 66.99625849, 96.27910494, 95.358351 ,\n 79.84098206, 83.14032522, 42.40925601, 54.34194303,\n 84.06615973, 82.17376391, 70.67851012, 85.09767893,\n 80.32794527, 85.17526058, 97.30100338, 66.91553603,\n 76.07403987, 80.76033764, 95.91036179, 82.08802473,\n 98.55080876, 97.10028467, 101.13288782, 81.91445241,\n 66.74373645, 90.14807268, 90.10897824, 67.71922793,\n 72.12689907, 62.45830276, 69.12897818, 75.65268046,\n 84.49480148, 100.63329536, 87.37431219, 105.89171019,\n 75.28306231, 70.00937135, 89.03671396, 74.51401316,\n 73.79273308, 100.41392714, 68.69070397, 88.20822103,\n 76.00259474, 106.61250194, 82.88183663, 76.27135957,\n 74.95698129, 93.63350012, 88.9619559 , 62.85201103,\n 119.69006733, 85.86409883, 55.75743606, 75.00489182,\n 58.06456391, 52.26432328, 66.66447096, 75.07032703,\n 84.59732897, 112.54736571, 65.34570336, 102.17736386,\n 40.37932797, 83.04954136, 77.69724422, 105.90650084,\n 80.45674399, 71.68883905, 98.73184451, 76.13710261,\n 66.20507679, 88.74955062, 80.0510249 , 76.22040964,\n 93.95306912, 52.35187424, 70.61081767, 95.22725407,\n 108.94784107, 72.24788481, 88.79595569, 50.5979318 ,\n 62.04383021, 82.92286625, 73.21143122, 53.05418957,\n 87.40469357, 94.69362199, 78.83425313, 103.18034128,\n 91.77577212, 67.46671285, 68.03901009, 62.2977924 ,\n 97.5852646 , 79.90403623, 77.95140453, 55.37994377,\n 89.23457844, 90.37887043, 89.85164318, 73.76839666,\n 87.96911602, 68.63450746, 93.21846679, 53.30857204,\n 94.15702001, 90.69365635, 96.38657258, 81.77837411,\n 79.47635508, 67.02666039, 84.07348833, 110.67955405,\n 91.05912686, 85.44147472, 65.16901929, 84.73650976,\n 81.89662136, 55.35194992, 72.66891519, 87.76721338,\n 90.88372285, 57.96348731, 89.68013973, 62.74481238,\n 114.52531551, 92.67234425, 87.31186873, 78.60200183,\n 86.59058664, 66.94814514, 77.3853412 , 91.71363056,\n 95.70888858, 52.45127237, 88.63758894, 97.57111284,\n 102.01999059, 75.96281703, 88.36166644, 93.34628342,\n 73.53905254, 59.92934719, 66.59948145, 56.78496989,\n 105.70030441, 72.86444968, 52.39540333, 74.45779479,\n 45.66426504, 56.3253082 , 61.62810162, 83.84735818,\n 80.53413791, 74.71040154, 92.85498595, 94.88784482,\n 96.30760768, 57.32765239, 82.83004411, 79.46457279,\n 49.90957363, 60.65314868, 90.93552368, 106.21061945,\n 97.13211144, 71.44100454, 90.05329611, 91.53492172,\n 71.46036606, 68.34357157, 80.42264456, 52.26701607,\n 48.28971326, 50.09431862, 52.27223857, 53.59897973,\n 81.96496589, 59.92479546, 64.00557478, 113.15028134,\n 48.87116061, 81.9481499 , 95.142522 , 76.16819745,\n 99.58493419, 94.06452704, 83.05951515, 64.0776772 ,\n 98.85617806, 53.79063833, 67.38281794, 88.12377387,\n 89.03606168, 71.96180971, 94.82115345, 75.35454868,\n 85.71719855, 77.85575022, 55.38749871, 88.81850218,\n 98.28893289, 71.79790379, 86.74856436, 100.86891044,\n 106.94848343, 68.17002494, 95.00452271, 96.1588338 ,\n 87.02101749, 79.34469034, 93.11547607, 81.4201332 ,\n 79.61242788, 80.14276989, 66.31126804, 73.81342493,\n 84.47742817, 87.65835947, 65.64731682, 86.66836892,\n 80.54654032, 84.83075141, 72.89043985, 61.3376971 ,\n 84.94655925, 87.38518507, 76.41231247, 106.23342075,\n 59.71539452, 70.96316145, 86.07725176, 109.16186329,\n 77.98466482, 61.86883949, 93.33239525, 71.42031957,\n 55.60559768, 105.19788732, 76.43995609, 101.1628942 ,\n 58.91082047, 67.00069345, 76.45884388, 73.54853117,\n 69.62413178, 74.36808765, 91.04834957, 69.78617132,\n 75.60903984, 89.53931323, 83.58114772, 79.9388412 ,\n 55.10438037, 87.65131276, 49.84807055, 52.41289143,\n 73.60261926, 86.15417227, 84.3558208 , 100.35194259,\n 78.19168592, 73.3648356 , 86.51749328, 80.33272539,\n 80.30453794, 51.27924021, 76.11370381, 74.36769789,\n 79.69049874, 77.0311673 , 92.05156246, 70.55832463,\n 71.77061074, 102.05166634, 54.32326398, 65.78529409,\n 70.88825347, 75.95280562, 59.98473392, 78.69470919,\n 56.4382883 , 89.81907081, 39.71499043, 62.08117787,\n 73.71371881, 79.24108502, 60.78772328, 72.11092866,\n 85.52384131, 73.39225323, 81.39602368, 64.41522371,\n 76.49433703, 65.1950397 , 90.5638382 , 94.66606541,\n 77.59274208, 85.57891274, 87.78522439, 108.15796205,\n 84.58319919, 108.12112397, 72.02513902, 76.48664057,\n 68.59305846, 84.35962562, 70.61111213, 87.87455868,\n 52.1882934 , 81.87445995, 48.17687999, 53.51759063,\n 105.03063346, 65.52206369, 109.02272228, 84.14593548])" - }, - "execution_count": 50, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Generate random numbers\n", - "# np.random.normal(mu, sigma, size)\n", - "normal_array = np.random.normal(79, 15, 1000)\n", - "normal_array\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Numpy and Statistics" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "(array([ 1., 2., 0., 2., 4., 1., 1., 2., 3., 7., 6., 22., 18.,\n 20., 16., 17., 27., 19., 41., 36., 37., 41., 50., 57., 39., 49.,\n 47., 49., 50., 48., 50., 33., 32., 32., 24., 21., 14., 13., 14.,\n 12., 10., 10., 6., 6., 3., 3., 1., 2., 1., 1.]),\n array([ 31.38686493, 33.25856972, 35.13027452, 37.00197932,\n 38.87368412, 40.74538891, 42.61709371, 44.48879851,\n 46.36050331, 48.2322081 , 50.1039129 , 51.9756177 ,\n 53.8473225 , 55.71902729, 57.59073209, 59.46243689,\n 61.33414169, 63.20584649, 65.07755128, 66.94925608,\n 68.82096088, 70.69266568, 72.56437047, 74.43607527,\n 76.30778007, 78.17948487, 80.05118966, 81.92289446,\n 83.79459926, 85.66630406, 87.53800885, 89.40971365,\n 91.28141845, 93.15312325, 95.02482805, 96.89653284,\n 98.76823764, 100.63994244, 102.51164724, 104.38335203,\n 106.25505683, 108.12676163, 109.99846643, 111.87017122,\n 113.74187602, 115.61358082, 117.48528562, 119.35699041,\n 121.22869521, 123.10040001, 124.97210481]),\n )" - }, - "execution_count": 51, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "image/svg+xml": "\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", - "text/plain": "
" - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "import seaborn as sns\n", - "sns.set()\n", - "plt.hist(normal_array, color=\"grey\", bins=50)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 52, - "metadata": {}, - "outputs": [], - "source": [ - "# numpy.asarray()\n", - "# Asarray\n", - "# The asarray()function is used when you want to convert an input to an array. \n", - "# The input could be a lists, tuple, ndarray, etc." - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "metadata": {}, - "outputs": [], - "source": [ - "four_by_four_matrix = np.matrix(np.ones((4,4), dtype=float))" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "matrix([[1., 1., 1., 1.],\n [1., 1., 1., 1.],\n [1., 1., 1., 1.],\n [1., 1., 1., 1.]])" - }, - "execution_count": 54, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "four_by_four_matrix" - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "matrix([[1., 1., 1., 1.],\n [1., 1., 1., 1.],\n [2., 2., 2., 2.],\n [1., 1., 1., 1.]])" - }, - "execution_count": 55, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "np.asarray(four_by_four_matrix)[2] = 2\n", - "four_by_four_matrix" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "metadata": {}, - "outputs": [], - "source": [ - "# numpy.arange() in Python with Example\n", - "# Whay is Arrange?\n", - "# Sometimes, you want to create values that are evenly spaced within a defined interval. \n", - "# For instance, you want to create values from 1 to 10; you can use numpy.arange() function\n" - ] - }, - { - "cell_type": "code", - "execution_count": 57, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "range(0, 11, 2)" - }, - "execution_count": 57, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# creating list using range(starting, stop, step)\n", - "lst = range(0, 11, 2)\n", - "lst" - ] - }, - { - "cell_type": "code", - "execution_count": 58, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "0\n2\n4\n6\n8\n10\n" - } - ], - "source": [ - "for l in lst:\n", - " print(l)" - ] - }, - { - "cell_type": "code", - "execution_count": 59, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,\n 17, 18, 19])" - }, - "execution_count": 59, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Similar to range arange numpy.arange(start, stop, step)\n", - "whole_numbers = np.arange(0, 20, 1)\n", - "whole_numbers" - ] - }, - { - "cell_type": "code", - "execution_count": 60, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,\n 18, 19])" - }, - "execution_count": 60, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "natural_numbers = np.arange(1, 20, 1)\n", - "natural_numbers" - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([ 1, 3, 5, 7, 9, 11, 13, 15, 17, 19])" - }, - "execution_count": 61, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "odd_numbers = np.arange(1, 20, 2)\n", - "odd_numbers" - ] - }, - { - "cell_type": "code", - "execution_count": 62, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([ 2, 4, 6, 8, 10, 12, 14, 16, 18])" - }, - "execution_count": 62, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "even_numbers = np.arange(2, 20, 2)\n", - "even_numbers" - ] - }, - { - "cell_type": "code", - "execution_count": 63, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([1. , 1.44444444, 1.88888889, 2.33333333, 2.77777778,\n 3.22222222, 3.66666667, 4.11111111, 4.55555556, 5. ])" - }, - "execution_count": 63, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# numpy.linspace()\n", - "# numpy.logspace() in Python with Example\n", - "# For instance, it can be used to create 10 values from 1 to 5 evenly spaced.\n", - "np.linspace(1.0, 5.0, num=10)" - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([1. , 1.8, 2.6, 3.4, 4.2])" - }, - "execution_count": 64, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# not to include the last value in the interval\n", - "np.linspace(1.0, 5.0, num=5, endpoint=False)" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "metadata": {}, - "outputs": [], - "source": [ - "# LogSpace\n", - "# LogSpace returns even spaced numbers on a log scale. Logspace has the same parameters as np.linspace.\n", - "\n", - "# Syntax:\n", - "\n", - "# numpy.logspace(start, stop, num, endpoint)" - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([ 100. , 464.15888336, 2154.43469003, 10000. ])" - }, - "execution_count": 66, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "np.logspace(2, 4.0, num=4)" - ] - }, - { - "cell_type": "code", - "execution_count": 67, - "metadata": {}, - "outputs": [], - "source": [ - "# to check the size of an array\n", - "x = np.array([1,2,3], dtype=np.complex128)" - ] - }, - { - "cell_type": "code", - "execution_count": 68, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([1.+0.j, 2.+0.j, 3.+0.j])" - }, - "execution_count": 68, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "x" - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "16" - }, - "execution_count": 69, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "x.itemsize" - ] - }, - { - "cell_type": "code", - "execution_count": 70, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([[1, 2, 3],\n [4, 5, 6]])" - }, - "execution_count": 70, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# indexing and Slicing NumPy Arrays in Python \n", - "\n", - "np_list = np.array([(1,2,3), (4,5,6)])\n", - "np_list\n" - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "First row: [1 2 3]\nSecond row: [4 5 6]\n" - } - ], - "source": [ - "print('First row: ', np_list[0])\n", - "print('Second row: ', np_list[1])\n" - ] - }, - { - "cell_type": "code", - "execution_count": 72, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "First column: [1 4]\nSecond column: [2 5]\nThird column: [3 6]\n" - } - ], - "source": [ - "print('First column: ', np_list[:,0])\n", - "print('Second column: ', np_list[:,1])\n", - "print('Third column: ', np_list[:,2])\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "## NumPy Statistical Functions with Example\n", - "NumPy has quite a few useful statistical functions for finding minimum, maximum, percentile standard deviation and variance, etc from the given elements in the array.\n", - "The functions are explained as follows −\n", - "Statistical function\n", - "Numpy is equipped with the robust statistical function as listed below\n", - "\n", - "- Numpy Functions\n", - " - Min\tnp.min()\n", - " - Max\tnp.max()\n", - " - Mean\tnp.mean()\n", - " - Median\tnp.median()\n", - " - Standard deviation\tnp.std()" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "min: 1\nmax: 55\nmean: 14.777777777777779\nsd: 18.913709183069525\n" - } - ], - "source": [ - "np_normal_dis = np.random.normal(5, 0.5, 100)\n", - "np_normal_dis\n", - "## min, max, mean, median, sd\n", - "print('min: ', two_dimension_array.min())\n", - "print('max: ', two_dimension_array.max())\n", - "print('mean: ',two_dimension_array.mean())\n", - "# print('median: ', two_dimension_array.median())\n", - "print('sd: ', two_dimension_array.std())" - ] - }, - { - "cell_type": "code", - "execution_count": 74, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "[[ 1 2 3]\n [ 4 55 44]\n [ 7 8 9]]\nColumn with minimum: [1 2 3]\nColumn with maximum: [ 7 55 44]\n=== Row ==\nRow with minimum: [1 4 7]\nRow with maximum: [ 3 55 9]\n" - } - ], - "source": [ - "print(two_dimension_array)\n", - "print('Column with minimum: ', np.amin(two_dimension_array,axis=0))\n", - "print('Column with maximum: ', np.amax(two_dimension_array,axis=0))\n", - "print('=== Row ==')\n", - "print('Row with minimum: ', np.amin(two_dimension_array,axis=1))\n", - "print('Row with maximum: ', np.amax(two_dimension_array,axis=1))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## How to create repeating sequences?\n" - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "Tile: [1 2 3 1 2 3]\nRepeat: [1 1 2 2 3 3]\n" - } - ], - "source": [ - "a = [1,2,3] \n", - "\n", - "# Repeat whole of 'a' two times\n", - "print('Tile: ', np.tile(a, 2))\n", - "\n", - "# Repeat each element of 'a' two times\n", - "print('Repeat: ', np.repeat(a, 2))\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## How to generate random numbers?" - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "0.9476490025120005\n" - } - ], - "source": [ - "# One random number between [0,1)\n", - "one_random_num = np.random.random()\n", - "one_random_in = np.random\n", - "print(one_random_num)" - ] - }, - { - "cell_type": "code", - "execution_count": 77, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "[[0.85805543 0.94673813 0.11857992]\n [0.39495196 0.99733241 0.90835007]]\n" - } - ], - "source": [ - "# Random numbers between [0,1) of shape 2,3\n", - "r = np.random.random(size=[2,3])\n", - "print(r)" - ] - }, - { - "cell_type": "code", - "execution_count": 78, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "['a' 'e' 'u' 'i' 'a' 'u' 'o' 'a' 'a' 'i']\n" - } - ], - "source": [ - "print(np.random.choice(['a', 'e', 'i', 'o', 'u'], size=10)) " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 79, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([[0.20980067, 0.48290936],\n [0.57274305, 0.36054907]])" - }, - "execution_count": 79, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "## Random numbers between [0, 1] of shape 2, 2\n", - "rand = np.random.rand(2,2)\n", - "rand" - ] - }, - { - "cell_type": "code", - "execution_count": 80, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([[-1.46836664, 0.61438705],\n [ 0.51575582, 0.89551303]])" - }, - "execution_count": 80, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "rand2 = np.random.randn(2,2)\n", - "rand2\n" - ] - }, - { - "cell_type": "code", - "execution_count": 81, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([[6, 2, 6],\n [3, 8, 7],\n [8, 3, 5],\n [2, 4, 3],\n [3, 7, 3]])" - }, - "execution_count": 81, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Random integers between [0, 10) of shape 2,5\n", - "rand_int = np.random.randint(0, 10, size=[5,3])\n", - "rand_int" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 82, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "min: 3.181694913603133\nmax: 6.358778013894176\nmean: 4.98118971737671\nmedian: 4.993503158562607\nmode: ModeResult(mode=array([3.18169491]), count=array([1]))\nsd: 0.4917061541395749\n" - } - ], - "source": [ - "from scipy import stats\n", - "np_normal_dis = np.random.normal(5, 0.5, 1000)\n", - "np_normal_dis\n", - "## min, max, mean, median, sd\n", - "print('min: ', np.min(np_normal_dis))\n", - "print('max: ', np.max(np_normal_dis))\n", - "print('mean: ', np.mean(np_normal_dis))\n", - "print('median: ', np.median(np_normal_dis))\n", - "print('mode: ', stats.mode(np_normal_dis))\n", - "print('sd: ', np.std(np_normal_dis))" - ] - }, - { - "cell_type": "code", - "execution_count": 83, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "(array([ 3., 1., 2., 4., 6., 20., 31., 44., 87., 80., 114.,\n 112., 124., 87., 110., 76., 45., 29., 21., 2., 2.]),\n array([3.18169491, 3.33298459, 3.48427426, 3.63556393, 3.7868536 ,\n 3.93814327, 4.08943294, 4.24072261, 4.39201229, 4.54330196,\n 4.69459163, 4.8458813 , 4.99717097, 5.14846064, 5.29975031,\n 5.45103999, 5.60232966, 5.75361933, 5.904909 , 6.05619867,\n 6.20748834, 6.35877801]),\n )" - }, - "execution_count": 83, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "image/svg+xml": "\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", - "text/plain": "
" - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.hist(np_normal_dis, color=\"grey\", bins=21)" - ] - }, - { - "cell_type": "code", - "execution_count": 84, - "metadata": {}, - "outputs": [], - "source": [ - "# numpy.dot(): Dot Product in Python using Numpy\n", - "# Dot Product\n", - "# Numpy is powerful library for matrices computation. For instance, you can compute the dot product with np.dot\n", - "\n", - "# Syntax\n", - "\n", - "# numpy.dot(x, y, out=None)" - ] - }, - { - "cell_type": "code", - "execution_count": 85, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "14" - }, - "execution_count": 85, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "## Linear algebra\n", - "### Dot product: product of two arrays\n", - "f = np.array([1,2])\n", - "g = np.array([4,5])\n", - "### 1*4+2*5\n", - "np.dot(f, g)" - ] - }, - { - "cell_type": "code", - "execution_count": 86, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "23" - }, - "execution_count": 86, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "## Linear algebra\n", - "### Dot product: product of two arrays\n", - "f = np.array([1,2,3])\n", - "g = np.array([4,5,3])\n", - "### 1*4+2*5 + 3*6\n", - "np.dot(f, g)" - ] - }, - { - "cell_type": "code", - "execution_count": 87, - "metadata": {}, - "outputs": [], - "source": [ - "# NumPy Matrix Multiplication with np.matmul() " - ] - }, - { - "cell_type": "code", - "execution_count": 88, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([[19, 22],\n [43, 50]])" - }, - "execution_count": 88, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "### Matmul: matruc product of two arrays\n", - "h = [[1,2],[3,4]] \n", - "i = [[5,6],[7,8]] \n", - "### 1*5+2*7 = 19\n", - "np.matmul(h, i)" - ] - }, - { - "cell_type": "code", - "execution_count": 89, - "metadata": {}, - "outputs": [], - "source": [ - "## Determinant 2*2 matrix\n", - "### 5*8-7*6np.linalg.det(i)" - ] - }, - { - "cell_type": "code", - "execution_count": 90, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "-1.999999999999999" - }, - "execution_count": 90, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "np.linalg.det(i)" - ] - }, - { - "cell_type": "code", - "execution_count": 91, - "metadata": {}, - "outputs": [], - "source": [ - "Z = np.zeros((8,8))\n", - "Z[1::2,::2] = 1\n", - "Z[::2,1::2] = 1" - ] - }, - { - "cell_type": "code", - "execution_count": 92, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([[0., 1., 0., 1., 0., 1., 0., 1.],\n [1., 0., 1., 0., 1., 0., 1., 0.],\n [0., 1., 0., 1., 0., 1., 0., 1.],\n [1., 0., 1., 0., 1., 0., 1., 0.],\n [0., 1., 0., 1., 0., 1., 0., 1.],\n [1., 0., 1., 0., 1., 0., 1., 0.],\n [0., 1., 0., 1., 0., 1., 0., 1.],\n [1., 0., 1., 0., 1., 0., 1., 0.]])" - }, - "execution_count": 92, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Z" - ] - }, - { - "cell_type": "code", - "execution_count": 93, - "metadata": {}, - "outputs": [], - "source": [ - "new_list = [ x + 2 for x in range(0, 11)]" - ] - }, - { - "cell_type": "code", - "execution_count": 94, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]" - }, - "execution_count": 94, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "new_list" - ] - }, - { - "cell_type": "code", - "execution_count": 101, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])" - }, - "execution_count": 101, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "np_arr = np.array(range(0, 11))\n", - "np_arr + 2" - ] - }, - { - "cell_type": "code", - "execution_count": 102, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "array([ 7, 9, 11, 13, 15])" - }, - "execution_count": 102, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "x = np.array([1,2,3,4,5])\n", - "y = x * 2 + 5\n", - "y" - ] - }, - { - "cell_type": "code", - "execution_count": 105, - "metadata": {}, - "outputs": [ - { - "ename": "ValueError", - "evalue": "x and y must have same first dimension, but have shapes (1000,) and (5,)", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mxlabel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Temperature in oC'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mylabel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Pressure in atm'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtitle\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Temperature vs Pressure'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mxticks\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m6\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstep\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.5\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/opt/anaconda3/lib/python3.7/site-packages/matplotlib/pyplot.py\u001b[0m in \u001b[0;36mplot\u001b[0;34m(scalex, scaley, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m 2793\u001b[0m return gca().plot(\n\u001b[1;32m 2794\u001b[0m *args, scalex=scalex, scaley=scaley, **({\"data\": data} if data\n\u001b[0;32m-> 2795\u001b[0;31m is not None else {}), **kwargs)\n\u001b[0m\u001b[1;32m 2796\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2797\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/opt/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_axes.py\u001b[0m in \u001b[0;36mplot\u001b[0;34m(self, scalex, scaley, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1664\u001b[0m \"\"\"\n\u001b[1;32m 1665\u001b[0m \u001b[0mkwargs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcbook\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnormalize_kwargs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmlines\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mLine2D\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_alias_map\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1666\u001b[0;31m \u001b[0mlines\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_lines\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1667\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mline\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mlines\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1668\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd_line\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mline\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/opt/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_base.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 223\u001b[0m \u001b[0mthis\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 224\u001b[0m \u001b[0margs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 225\u001b[0;31m \u001b[0;32myield\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_plot_args\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mthis\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 226\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 227\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mget_next_color\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/opt/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_base.py\u001b[0m in \u001b[0;36m_plot_args\u001b[0;34m(self, tup, kwargs)\u001b[0m\n\u001b[1;32m 389\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mindex_of\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtup\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 390\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 391\u001b[0;31m \u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_xy_from_xy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 392\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 393\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcommand\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'plot'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/opt/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_base.py\u001b[0m in \u001b[0;36m_xy_from_xy\u001b[0;34m(self, x, y)\u001b[0m\n\u001b[1;32m 268\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 269\u001b[0m raise ValueError(\"x and y must have same first dimension, but \"\n\u001b[0;32m--> 270\u001b[0;31m \"have shapes {} and {}\".format(x.shape, y.shape))\n\u001b[0m\u001b[1;32m 271\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m2\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 272\u001b[0m raise ValueError(\"x and y can be no greater than 2-D, but have \"\n", - "\u001b[0;31mValueError\u001b[0m: x and y must have same first dimension, but have shapes (1000,) and (5,)" - ] - } - ], - "source": [ - "plt.plot(x,y)\n", - "plt.xlabel('Temperature in oC')\n", - "plt.ylabel('Pressure in atm')\n", - "plt.title('Temperature vs Pressure')\n", - "plt.xticks(np.arange(0, 6, step=0.5))\n", - "plt.savefig('./numpy_files/linear_equation.png', dpi=None, facecolor='w', edgecolor='w',\n", - " orientation='portrait', papertype=None, format=None,\n", - " transparent=False, bbox_inches=None, pad_inches=0.1,\n", - " frameon=None, metadata=None)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 106, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": "[Text(0, 0.5, 'y'), Text(0.5, 0, 'x')]" - }, - "execution_count": 106, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "image/svg+xml": "\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", - "text/plain": "
" - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "x = np.random.normal(size=1000)\n", - "ax = sns.distplot(x);\n", - "ax.set(xlabel=\"x\", ylabel='y')\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Summery\n", - "\n", - "To summarise, the main differences with python lists are:\n", - "\n", - "1. Arrays support vectorised operations, while lists don’t.\n", - "1. Once an array is created, you cannot change its size. You will have to create a new array or overwrite the existing one.\n", - "1. Every array has one and only one dtype. All items in it should be of that dtype.\n", - "1. An equivalent numpy array occupies much less space than a python list of lists.\n", - "1. numpy arrays support boolean indexing." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} \ No newline at end of file