Skip to content

Instantly share code, notes, and snippets.

@ischurov
Created February 11, 2021 16:36
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 ischurov/ea55624a298959ae91f7ca13e3283a66 to your computer and use it in GitHub Desktop.
Save ischurov/ea55624a298959ae91f7ca13e3283a66 to your computer and use it in GitHub Desktop.
lesson10.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": "## Библиотека numpy"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "values = [1, 2, 14, 3, 2, 1, 5, 6, 10]",
"execution_count": 1,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "squares = [x ** 2 for x in values]",
"execution_count": 2,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "squares",
"execution_count": 3,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 3,
"data": {
"text/plain": "[1, 4, 196, 9, 4, 1, 25, 36, 100]"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import numpy as np",
"execution_count": 4,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "array = np.array([1, 2, 14, 3, 2, 1, 5, 6, 10])",
"execution_count": 5,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "type(array)",
"execution_count": 6,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 6,
"data": {
"text/plain": "numpy.ndarray"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "array",
"execution_count": 7,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 7,
"data": {
"text/plain": "array([ 1, 2, 14, 3, 2, 1, 5, 6, 10])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "array[2]",
"execution_count": 8,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 8,
"data": {
"text/plain": "14"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "for x in array:\n print(x)",
"execution_count": 9,
"outputs": [
{
"output_type": "stream",
"text": "1\n2\n14\n3\n2\n1\n5\n6\n10\n",
"name": "stdout"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "array[:3]",
"execution_count": 10,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 10,
"data": {
"text/plain": "array([ 1, 2, 14])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "array.append(4)",
"execution_count": 11,
"outputs": [
{
"output_type": "error",
"ename": "AttributeError",
"evalue": "'numpy.ndarray' object has no attribute 'append'",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-11-addfe85c4e99>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0marray\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m4\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;31mAttributeError\u001b[0m: 'numpy.ndarray' object has no attribute 'append'"
]
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "%%timeit\n\nsquares = [x ** 2 for x in values]",
"execution_count": 12,
"outputs": [
{
"output_type": "stream",
"text": "2.37 µs ± 42.3 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)\n",
"name": "stdout"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "%%timeit\n\narray ** 2",
"execution_count": 15,
"outputs": [
{
"output_type": "stream",
"text": "628 ns ± 4.16 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)\n",
"name": "stdout"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "values ** 2",
"execution_count": 14,
"outputs": [
{
"output_type": "error",
"ename": "TypeError",
"evalue": "unsupported operand type(s) for ** or pow(): 'list' and 'int'",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-14-a0fb4c468721>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mvalues\u001b[0m \u001b[0;34m**\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m: unsupported operand type(s) for ** or pow(): 'list' and 'int'"
]
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "values = [1, 2, 3, 4] * 100000",
"execution_count": 19,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "len(values)",
"execution_count": 20,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 20,
"data": {
"text/plain": "400000"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "%%timeit\n\n[x ** 2 for x in values]",
"execution_count": 21,
"outputs": [
{
"output_type": "stream",
"text": "93.8 ms ± 584 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n",
"name": "stdout"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "array = np.array(values)",
"execution_count": 22,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "%%timeit\n\narray ** 2",
"execution_count": 23,
"outputs": [
{
"output_type": "stream",
"text": "284 µs ± 14 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)\n",
"name": "stdout"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "vec1 = np.array([10, 20, 30])\nvec2 = np.array([1, 2, 3])",
"execution_count": 25,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "vec1 + vec2",
"execution_count": 26,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 26,
"data": {
"text/plain": "array([11, 22, 33])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "vec1 * vec2",
"execution_count": 27,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 27,
"data": {
"text/plain": "array([10, 40, 90])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "np.sin(vec1)",
"execution_count": 28,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 28,
"data": {
"text/plain": "array([-0.54402111, 0.91294525, -0.98803162])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "array = np.array([1, 2, 3, -3, 2, 1, -5, 4, -2])",
"execution_count": 29,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "array",
"execution_count": 30,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 30,
"data": {
"text/plain": "array([ 1, 2, 3, -3, 2, 1, -5, 4, -2])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "array[array > 0]",
"execution_count": 31,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 31,
"data": {
"text/plain": "array([1, 2, 3, 2, 1, 4])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "[1, 2, 3] > 0",
"execution_count": 32,
"outputs": [
{
"output_type": "error",
"ename": "TypeError",
"evalue": "'>' not supported between instances of 'list' and 'int'",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-32-152cdbd20ca8>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m3\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m: '>' not supported between instances of 'list' and 'int'"
]
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "array > 0",
"execution_count": 33,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 33,
"data": {
"text/plain": "array([ True, True, True, False, True, True, False, True, False])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "array",
"execution_count": 34,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 34,
"data": {
"text/plain": "array([ 1, 2, 3, -3, 2, 1, -5, 4, -2])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "array[np.array([ False, False, True, True, True, False, False, False, False])]",
"execution_count": 36,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 36,
"data": {
"text/plain": "array([ 3, -3, 2])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "array * (array > 0)",
"execution_count": 37,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 37,
"data": {
"text/plain": "array([1, 2, 3, 0, 2, 1, 0, 4, 0])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "array",
"execution_count": 38,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 38,
"data": {
"text/plain": "array([ 1, 2, 3, -3, 2, 1, -5, 4, -2])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "array[array > 0] = -99",
"execution_count": 39,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "array",
"execution_count": 40,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 40,
"data": {
"text/plain": "array([-99, -99, -99, -3, -99, -99, -5, -99, -2])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "array = np.array([1, 2, 3, -3, 2, 1, -5, 4, -2])",
"execution_count": 41,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "array[(array > 0) & (array % 2 == 0)]",
"execution_count": 49,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 49,
"data": {
"text/plain": "array([2, 2, 4])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "np.array([True, False, False, True]) & np.array([True, False, True, True])",
"execution_count": 46,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 46,
"data": {
"text/plain": "array([ True, False, False, True])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true,
"scrolled": true
},
"cell_type": "code",
"source": "array[array > (0 & array) % 2 == 0]",
"execution_count": 48,
"outputs": [
{
"output_type": "error",
"ename": "ValueError",
"evalue": "The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-48-3d97d629cdb5>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0marray\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0marray\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m \u001b[0;34m&\u001b[0m \u001b[0marray\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0;36m2\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[0m\n\u001b[0m",
"\u001b[0;31mValueError\u001b[0m: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()"
]
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "array",
"execution_count": 51,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 51,
"data": {
"text/plain": "array([ 1, 2, 3, -3, 2, 1, -5, 4, -2])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "array[np.array([1, 3, 2, 2])]",
"execution_count": 52,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 52,
"data": {
"text/plain": "array([ 2, -3, 3, 3])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "vec1",
"execution_count": 53,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 53,
"data": {
"text/plain": "array([10, 20, 30])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "vec2",
"execution_count": 54,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 54,
"data": {
"text/plain": "array([1, 2, 3])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "np.concatenate([vec1, vec2])",
"execution_count": 55,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 55,
"data": {
"text/plain": "array([10, 20, 30, 1, 2, 3])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "array",
"execution_count": 56,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 56,
"data": {
"text/plain": "array([ 1, 2, 3, -3, 2, 1, -5, 4, -2])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "first_three = array[:3]",
"execution_count": 57,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "first_three",
"execution_count": 58,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 58,
"data": {
"text/plain": "array([1, 2, 3])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "first_three[0] = 1000",
"execution_count": 65,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "array",
"execution_count": 66,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 66,
"data": {
"text/plain": "array([1000, 2, 3, -3, 2, 1, -5, 4, -2])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "some_list = [1, 2, 3, -3, 2, 1, -5, 4, -2]",
"execution_count": 59,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "first_three_list = some_list[:3]",
"execution_count": 60,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "first_three_list",
"execution_count": 61,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 61,
"data": {
"text/plain": "[1, 2, 3]"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "first_three_list[0] = 1000",
"execution_count": 62,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "first_three_list",
"execution_count": 63,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 63,
"data": {
"text/plain": "[1000, 2, 3]"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "some_list",
"execution_count": 64,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 64,
"data": {
"text/plain": "[1, 2, 3, -3, 2, 1, -5, 4, -2]"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "matrix = np.array([[2, 3, 4],\n [4, 3, 1],\n [1, 2, 7],\n [10, 4, 6]])",
"execution_count": 69,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "matrix",
"execution_count": 70,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 70,
"data": {
"text/plain": "array([[ 2, 3, 4],\n [ 4, 3, 1],\n [ 1, 2, 7],\n [10, 4, 6]])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "matrix.shape",
"execution_count": 71,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 71,
"data": {
"text/plain": "(4, 3)"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "matrix[2][0]",
"execution_count": 73,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 73,
"data": {
"text/plain": "1"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "matrix[2]",
"execution_count": 74,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 74,
"data": {
"text/plain": "array([1, 2, 7])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "matrix[2, 0]",
"execution_count": 75,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 75,
"data": {
"text/plain": "1"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "matrix[:, 1]",
"execution_count": 76,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 76,
"data": {
"text/plain": "array([3, 3, 2, 4])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "my_list = [1, 2, \"Hello\", 3.2]",
"execution_count": 77,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "my_list",
"execution_count": 78,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 78,
"data": {
"text/plain": "[1, 2, 'Hello', 3.2]"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "arr = np.array([1, 2, \"Hello\", 3.2])",
"execution_count": 79,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "arr",
"execution_count": 80,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 80,
"data": {
"text/plain": "array(['1', '2', 'Hello', '3.2'], dtype='<U21')"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "arr[0] = 'Hello, World! This is a test. Are you ready for it. Раз два три проверка.'",
"execution_count": 81,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "arr",
"execution_count": 82,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 82,
"data": {
"text/plain": "array(['Hello, World! This is', '2', 'Hello', '3.2'], dtype='<U21')"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "arr[0]",
"execution_count": 83,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 83,
"data": {
"text/plain": "'Hello, World! This is'"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "np.array([1, 2, 3])",
"execution_count": 84,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 84,
"data": {
"text/plain": "array([1, 2, 3])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "9 ** 9 ** 4",
"execution_count": 88,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 88,
"data": {
"text/plain": "609683485452741112075235500724516670453115716895320025142055544060992206118345733195670930601391416031419347837381484188382881951433379123359313314933244210601512487020777732791222771893404859051590828696103799967120373592507057411946836370842145917500334762398351641542409564168524317143715760969367337242278252296192257755590138005663105597330353536830297965125372297102681424686850910639047766049279097023890339143848228023392943078063199836424226954041357578424782631862433423874215159238431543345109430718973560158757704908903172111956056366259712652853432607460910077283409427311989607857053110397329989034825569575562188685305447453330677591022902049353489382228107260629232409368999333685042946398487309186571606142468757152565434485212541721163897314567917523997823121395142317145049341594054811528070197536688303888476958771977502323653181348467752354680020863378480973818298508318268338696302019357148521532095273598636209307997253608343889856073384560577927572337867354822396908678510662371503925980869702639576971942702430789055678881944576812182580901378418898294860706790263994597430111831268711625556356745728755442130871232085685099470290641006222674784729223127188400448612887433108820629470380367355057572351376001828289026362967862424639273455806774138381983139391719563215770240694287203849677560831055766278286055921130338563008375210500966795010401951960267177086738862889331978106287759384737660872735552451751086042784918872934904760782042675129004924276356715421301922392188236481891996346794784316632052651079636553853158992053677395693092569827914929328904654596217077817628463493264816138623805861253498858607687798134962850649623019007141709446429416140168901951026952245323112428680444922280963531416429758022613714116143602824821189791450690561785985328865796850032627017572718356490100095105676235076142976078079397192618073886364752590488211991362605688529536772962022417040606636121435964110777395524949160680134182225915191726034865406003390625199182193704990935060676374990819823281721349606987499507449954162729524128628164389806486941191778116951061002959779309792915802011047015297567696262070807902590624341424651267523754995634828034132969009161722806818947979129519104094176659792899101273912529107352000213040998391280254936459774378680076331527294505187943205606116442740735027269981199798634681059824749208723590031392046892644888565623488228129233828270657491063132675457565165860856375112698580144903082943537288750935180048935928242409821465559574928773585712997132459879081492505228338041747218371864192537854458115384458443284811117109223158217922975271342526900454021410737004974056813740347900173639584819288397003446440395559967822443984946809649260538989890854424983749760215218502405535051899734436256808729304654943315380632199248966175218154536579536483392432757168748519548575914463080864612941543657975520976698508121839730376700637312871357040723739391173247004119377996460400136958194519944877775553905441128766167615205833101791439083812012979266215373806281902732533005665368905557306549177307201247839098755527254576243815293172818701056068187094337000830025044568191819338246332521176984917533143001303544936037217109408608296056961292104677778033512569311185669611058156875751920862714153337048248861344354574341358632587875957691369942874935898638113322640421405566881801965340015901941334817653304156100386242603374489197264858144897492256153754185247688137724095468876305401685269185649055671895403415607192750118946813187627716825769308937935281809880349065098912099942537186223480096589842500124598628855341293980918670736710752753161316977986970230893132883568092722417036577397419329711576046702965060147303177816991840555167389850793397172373291960986137884498969842721115448203731755432055446123713854720966435544053834531814962725787835476454058961787095965238820001762972262348644726507372696136062630889846947967042157274998728255423717506038369054453802699448067181700320583324203971673532509015002200198546220101578637871060271773723985735326312490897528624974678487604360480338646780392785676973708354370116343339372958090155236556264989945152110748284990609230744137588556473478169632324717488899232327650262587730415443828624213119263203235451460137506301422623063069888778412569821819038214360262079585844815271405169278081934512541484799168796365504402617926643709383546636558547065128407589965221536380360737164365161493586151373734502449275476098556849692098238927272648082451753057111398571676688567362269137195467250570594417851428872922702596328004678205243912526004349040271237573969332446648270076706518450787059045724992001802132113820388790929299888571160776522939260299171326471468686458863225497475144416893501180850829978771146935472015137175966533057924747021216126848140769146794309982329972559295289075792967956351607513991727110220921498308244980078479795482015372569623224939778650251487071756534749451100348226056933967588391354541511849177686493559219699542125182527593907861122968626554629883926773846771539543101525574189543625600541697540076702940379874888947144612158982466646309842628547319739077865331476463453992805226514211097711176423255674183845477168040599465258972388573208431575083860615979810029275638989851003295044555549243113839462378873502369543130242015660020602787973598572467060957381241565941205456698910482067836113482102280524406646302743470112087427472514013105288633611502785188213067980467300746437302992567150102075686265552843685417392129983164451911558907471068830798391649115996205050608599640736308585851400373853700540360971706698324794296838560001790320259128642537657946233749749278942121508917513079964037379047390153778173542741898479242726687382246938596706657693174111627846656799557424571601651943183512955281868385914251451010073404817059514241233091408860258393083571386081348796186188323378867994721747659028673328480484459679631662895194137215637219320119109291791279254127828570290501391758311749047110360962043813923111344884366144770117586736537392472191116611664818657084338613647063339077288169097994438000017977949919329083260526096133403745058519219706445278520075152513671209817461154580997332471621813987611514972532379635692724472346821600549802125671248433668213379459545260244454772731023174256697609"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "9 ** 9",
"execution_count": 91,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 91,
"data": {
"text/plain": "387420489"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "np.array([9]) ** 9 ** 3",
"execution_count": 103,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 103,
"data": {
"text/plain": "array([7371980995347845577])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "np.array([9.]) ** 9 ** 3",
"execution_count": 102,
"outputs": [
{
"output_type": "stream",
"text": "/Users/user/miniconda3/envs/featurevis-py3.6/lib/python3.6/site-packages/ipykernel_launcher.py:1: RuntimeWarning: overflow encountered in power\n \"\"\"Entry point for launching an IPython kernel.\n",
"name": "stderr"
},
{
"output_type": "execute_result",
"execution_count": 102,
"data": {
"text/plain": "array([inf])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "arr = np.array([1, 2, 3])",
"execution_count": 94,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "arr.dtype",
"execution_count": 96,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 96,
"data": {
"text/plain": "dtype('int64')"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "arr",
"execution_count": 101,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 101,
"data": {
"text/plain": "array([1, 2, 3])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "arr.astype('int8') ** 5",
"execution_count": 100,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 100,
"data": {
"text/plain": "array([ 1, 32, -13], dtype=int8)"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "matrix",
"execution_count": 104,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 104,
"data": {
"text/plain": "array([[ 2, 3, 4],\n [ 4, 3, 1],\n [ 1, 2, 7],\n [10, 4, 6]])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "vec = np.array([3, 10, 5])",
"execution_count": 105,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "matrix @ vec",
"execution_count": 106,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 106,
"data": {
"text/plain": "array([ 56, 47, 58, 100])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "sq_matrix = np.array([[2, 3, 5],\n [1, 5, 4],\n [6, 1, 3]])",
"execution_count": 107,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "np.linalg.inv(sq_matrix)",
"execution_count": 108,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 108,
"data": {
"text/plain": "array([[-0.18333333, 0.06666667, 0.21666667],\n [-0.35 , 0.4 , 0.05 ],\n [ 0.48333333, -0.26666667, -0.11666667]])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "sq_matrix @ np.linalg.inv(sq_matrix) == np.diag([1, 1, 1])",
"execution_count": 111,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 111,
"data": {
"text/plain": "array([[ True, False, False],\n [False, False, True],\n [False, False, False]])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "np.isclose(sq_matrix @ np.linalg.inv(sq_matrix), np.diag([1, 1, 1]))",
"execution_count": 114,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 114,
"data": {
"text/plain": "array([[ True, True, True],\n [ True, True, True],\n [ True, True, True]])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "np.isclose(sq_matrix @ np.linalg.inv(sq_matrix), np.diag([1, 1, 1])).all()",
"execution_count": 115,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 115,
"data": {
"text/plain": "True"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "vec1 = np.array([1, 2, 3])\nvec2 = np.array([1, 2, 3])",
"execution_count": 116,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "vec1 == vec2",
"execution_count": 117,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 117,
"data": {
"text/plain": "array([ True, True, True])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "if vec1 == vec2:\n print(\"Vectors are equal\")",
"execution_count": 118,
"outputs": [
{
"output_type": "error",
"ename": "ValueError",
"evalue": "The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-118-da883203563a>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mif\u001b[0m \u001b[0mvec1\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0mvec2\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[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Vectors are equal\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mValueError\u001b[0m: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()"
]
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "if (vec1 == vec2).all():\n print(\"Vectors are equal\")",
"execution_count": 119,
"outputs": [
{
"output_type": "stream",
"text": "Vectors are equal\n",
"name": "stdout"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "np.array([1, 2, 3]) @ np.array([4, 2, 3])",
"execution_count": 120,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 120,
"data": {
"text/plain": "17"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "sq_matrix",
"execution_count": 121,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 121,
"data": {
"text/plain": "array([[2, 3, 5],\n [1, 5, 4],\n [6, 1, 3]])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "eigvals, eigvects = np.linalg.eig(sq_matrix)",
"execution_count": 123,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "eigvals",
"execution_count": 124,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 124,
"data": {
"text/plain": "array([10. , -2.44948974, 2.44948974])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "(sq_matrix @ eigvects[:, 0]) / eigvects[:, 0]",
"execution_count": 130,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 130,
"data": {
"text/plain": "array([10., 10., 10.])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "(2 + 3j)",
"execution_count": 131,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 131,
"data": {
"text/plain": "(2+3j)"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "(2 + 3j) ** 10",
"execution_count": 132,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 132,
"data": {
"text/plain": "(-341525-145668j)"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "np.linalg.eig(np.array([[0, 1], [-1, 0]]))",
"execution_count": 134,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 134,
"data": {
"text/plain": "(array([0.+1.j, 0.-1.j]),\n array([[0.70710678+0.j , 0.70710678-0.j ],\n [0. +0.70710678j, 0. -0.70710678j]]))"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import matplotlib.pyplot as plt\n%matplotlib inline",
"execution_count": 136,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "plt.plot([2, 3, 1], [5, 3, 2])",
"execution_count": 138,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 138,
"data": {
"text/plain": "[<matplotlib.lines.Line2D at 0x7febbabb64a8>]"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "plt.plot([2, 3, 1], [5, 3, 2], 'o')",
"execution_count": 139,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 139,
"data": {
"text/plain": "[<matplotlib.lines.Line2D at 0x7febb8f674a8>]"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "plt.plot([2, 3, 1], [5, 3, 2], '-o', color='Teal')",
"execution_count": 141,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 141,
"data": {
"text/plain": "[<matplotlib.lines.Line2D at 0x7febba49e320>]"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "x = np.linspace(-3, 3, 300)",
"execution_count": 143,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "plt.plot(x, np.sin(x))",
"execution_count": 144,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 144,
"data": {
"text/plain": "[<matplotlib.lines.Line2D at 0x7febba50e7f0>]"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "plt.plot(x, np.sin(x ** 2))",
"execution_count": 145,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 145,
"data": {
"text/plain": "[<matplotlib.lines.Line2D at 0x7febb9f9c3c8>]"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "x = np.linspace(-1, 1, 10000)\nplt.plot(x, np.sin(1 / x) * x ** 2)",
"execution_count": 150,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 150,
"data": {
"text/plain": "[<matplotlib.lines.Line2D at 0x7febbafee9e8>]"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "plt.plot(x, x ** 2, label='$y=x^2$')\nplt.plot(x, np.sin(x), label='$y = \\\\sin x$')\nplt.legend()\nplt.savefig(\"graph.png\", dpi=300)",
"execution_count": 161,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "print(\"hello\\nworld\")",
"execution_count": 155,
"outputs": [
{
"output_type": "stream",
"text": "hello\nworld\n",
"name": "stdout"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "print(r\"hello\\nworld\")",
"execution_count": 156,
"outputs": [
{
"output_type": "stream",
"text": "hello\\nworld\n",
"name": "stdout"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "arr = np.array([1, 4, 3, 2, 7, 5, 12])",
"execution_count": 162,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "arr.mean()",
"execution_count": 163,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 163,
"data": {
"text/plain": "4.857142857142857"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "arr.var()",
"execution_count": 164,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 164,
"data": {
"text/plain": "11.83673469387755"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "arr.max()",
"execution_count": 165,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 165,
"data": {
"text/plain": "12"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "arr.argmax()",
"execution_count": 166,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 166,
"data": {
"text/plain": "6"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "matrix",
"execution_count": 167,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 167,
"data": {
"text/plain": "array([[ 2, 3, 4],\n [ 4, 3, 1],\n [ 1, 2, 7],\n [10, 4, 6]])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "matrix.mean()",
"execution_count": 168,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 168,
"data": {
"text/plain": "3.9166666666666665"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "matrix.mean(axis=0)",
"execution_count": 169,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 169,
"data": {
"text/plain": "array([4.25, 3. , 4.5 ])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "matrix.mean(axis=1)",
"execution_count": 170,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 170,
"data": {
"text/plain": "array([3. , 2.66666667, 3.33333333, 6.66666667])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "matrix.max(axis=0)",
"execution_count": 171,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 171,
"data": {
"text/plain": "array([10, 4, 7])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "matrix.argmax(axis=0)",
"execution_count": 172,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 172,
"data": {
"text/plain": "array([3, 3, 2])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "arr",
"execution_count": 173,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 173,
"data": {
"text/plain": "array([ 1, 4, 3, 2, 7, 5, 12])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "arr.argsort()",
"execution_count": 174,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 174,
"data": {
"text/plain": "array([0, 3, 2, 1, 5, 4, 6])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "arr[arr.argsort()]",
"execution_count": 175,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 175,
"data": {
"text/plain": "array([ 1, 2, 3, 4, 5, 7, 12])"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"kernelspec": {
"name": "python3",
"display_name": "Python 3",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.6.10",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"gist": {
"id": "",
"data": {
"description": "lesson10.ipynb",
"public": false
}
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment