Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save GuillaumeRouja/5c9e819574cd3c6002f07e0a8ec0682d to your computer and use it in GitHub Desktop.
Save GuillaumeRouja/5c9e819574cd3c6002f07e0a8ec0682d to your computer and use it in GitHub Desktop.
1&2 Dimensional Numpy
Display the source blob
Display the rendered blob
Raw
{
"nbformat_minor": 1,
"cells": [
{
"execution_count": 1,
"cell_type": "code",
"metadata": {},
"outputs": [],
"source": "# Import the libraries\n\nimport time \nimport sys\nimport numpy as np \n\nimport matplotlib.pyplot as plt\n%matplotlib inline "
},
{
"execution_count": 2,
"cell_type": "code",
"metadata": {},
"outputs": [],
"source": "# Plotting functions\n\ndef Plotvec1(u, z, v):\n \n ax = plt.axes()\n ax.arrow(0, 0, *u, head_width=0.05, color='r', head_length=0.1)\n plt.text(*(u + 0.1), 'u')\n \n ax.arrow(0, 0, *v, head_width=0.05, color='b', head_length=0.1)\n plt.text(*(v + 0.1), 'v')\n ax.arrow(0, 0, *z, head_width=0.05, head_length=0.1)\n plt.text(*(z + 0.1), 'z')\n plt.ylim(-2, 2)\n plt.xlim(-2, 2)\n\ndef Plotvec2(a,b):\n ax = plt.axes()\n ax.arrow(0, 0, *a, head_width=0.05, color ='r', head_length=0.1)\n plt.text(*(a + 0.1), 'a')\n ax.arrow(0, 0, *b, head_width=0.05, color ='b', head_length=0.1)\n plt.text(*(b + 0.1), 'b')\n plt.ylim(-2, 2)\n plt.xlim(-2, 2)"
},
{
"execution_count": 3,
"cell_type": "code",
"metadata": {},
"outputs": [],
"source": "# Create a python list\n\na = [\"0\", 1, \"two\", \"3\", 4]"
},
{
"execution_count": 4,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": "a[0]: 0\na[1]: 1\na[2]: two\na[3]: 3\na[4]: 4\n"
}
],
"source": "# Print each element\n\nprint(\"a[0]:\", a[0])\nprint(\"a[1]:\", a[1])\nprint(\"a[2]:\", a[2])\nprint(\"a[3]:\", a[3])\nprint(\"a[4]:\", a[4])"
},
{
"execution_count": 9,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 9,
"metadata": {},
"data": {
"text/plain": "array([0, 1, 2, 3, 4])"
},
"output_type": "execute_result"
}
],
"source": "# Create a numpy array\n\na = np.array([0, 1, 2, 3, 4])\na"
},
{
"execution_count": 10,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": "a[0]: 0\na[1]: 1\na[2]: 2\na[3]: 3\na[4]: 4\n"
}
],
"source": "# Print each element\n\nprint(\"a[0]:\", a[0])\nprint(\"a[1]:\", a[1])\nprint(\"a[2]:\", a[2])\nprint(\"a[3]:\", a[3])\nprint(\"a[4]:\", a[4])"
},
{
"execution_count": 11,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 11,
"metadata": {},
"data": {
"text/plain": "numpy.ndarray"
},
"output_type": "execute_result"
}
],
"source": "# Check the type of the array\n\ntype(a)"
},
{
"execution_count": 12,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 12,
"metadata": {},
"data": {
"text/plain": "dtype('int64')"
},
"output_type": "execute_result"
}
],
"source": "# Check the type of the values stored in numpy array\n\na.dtype"
},
{
"execution_count": 13,
"cell_type": "code",
"metadata": {},
"outputs": [],
"source": "# Create a numpy array with real numbers\n\nb = np.array([3.1, 11.02, 6.2, 213.2, 5.2])"
},
{
"execution_count": 14,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 14,
"metadata": {},
"data": {
"text/plain": "numpy.ndarray"
},
"output_type": "execute_result"
}
],
"source": "# Check the type of array\n\ntype(b)"
},
{
"execution_count": 15,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 15,
"metadata": {},
"data": {
"text/plain": "dtype('float64')"
},
"output_type": "execute_result"
}
],
"source": "# Check the value type\n\nb.dtype"
},
{
"execution_count": 16,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 16,
"metadata": {},
"data": {
"text/plain": "array([20, 1, 2, 3, 4])"
},
"output_type": "execute_result"
}
],
"source": "# Create new numpy array\n\nc = np.array([20, 1, 2, 3, 4])\nc"
},
{
"execution_count": 17,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 17,
"metadata": {},
"data": {
"text/plain": "array([100, 1, 2, 3, 4])"
},
"output_type": "execute_result"
}
],
"source": "# Assign the first element to 100\n\nc[0] = 100\nc"
},
{
"execution_count": 18,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 18,
"metadata": {},
"data": {
"text/plain": "array([100, 1, 2, 3, 0])"
},
"output_type": "execute_result"
}
],
"source": "# Assign the 5th element to 0\n\nc[4] = 0\nc"
},
{
"execution_count": 19,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 19,
"metadata": {},
"data": {
"text/plain": "array([1, 2, 3])"
},
"output_type": "execute_result"
}
],
"source": "# Slicing the numpy array\n\nd = c[1:4]\nd"
},
{
"execution_count": 20,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 20,
"metadata": {},
"data": {
"text/plain": "array([100, 1, 2, 300, 400])"
},
"output_type": "execute_result"
}
],
"source": " # Set the fourth element and fifth element to 300 and 400\n\nc[3:5] = 300, 400\nc"
},
{
"execution_count": 21,
"cell_type": "code",
"metadata": {},
"outputs": [],
"source": "# Create the index list\n\nselect = [0, 2, 3]"
},
{
"execution_count": 22,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 22,
"metadata": {},
"data": {
"text/plain": "array([100, 2, 300])"
},
"output_type": "execute_result"
}
],
"source": "# Use List to select elements\n\nd = c[select]\nd"
},
{
"execution_count": 23,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 23,
"metadata": {},
"data": {
"text/plain": "array([100000, 1, 100000, 100000, 400])"
},
"output_type": "execute_result"
}
],
"source": "# Assign the specified elements to new value\n\nc[select] = 100000\nc"
},
{
"execution_count": 24,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 24,
"metadata": {},
"data": {
"text/plain": "array([0, 1, 2, 3, 4])"
},
"output_type": "execute_result"
}
],
"source": "# Create a new numpy array\n\na = np.array([0, 1, 2, 3, 4])\na"
},
{
"execution_count": 25,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 25,
"metadata": {},
"data": {
"text/plain": "5"
},
"output_type": "execute_result"
}
],
"source": "# Get the size of numpy array\n\na.size"
},
{
"execution_count": 26,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 26,
"metadata": {},
"data": {
"text/plain": "1"
},
"output_type": "execute_result"
}
],
"source": "# Get the number of dimensions of numpy array\n\na.ndim"
},
{
"execution_count": 27,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 27,
"metadata": {},
"data": {
"text/plain": "(5,)"
},
"output_type": "execute_result"
}
],
"source": "# Get the shape/size of numpy array\n\na.shape"
},
{
"execution_count": 28,
"cell_type": "code",
"metadata": {},
"outputs": [],
"source": "# Create a new numpy array\n\na = np.array([1, -1, 1, -1])"
},
{
"execution_count": 29,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 29,
"metadata": {},
"data": {
"text/plain": "0.0"
},
"output_type": "execute_result"
}
],
"source": "# Get the mean of numpy array\n\nmean = a.mean()\nmean"
},
{
"execution_count": 30,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 30,
"metadata": {},
"data": {
"text/plain": "1.0"
},
"output_type": "execute_result"
}
],
"source": "# Get the standard deviation of numpy array\n#In statistics, the standard deviation (SD, also represented by the Greek letter sigma \u03c3 or the Latin letter s) is a measure that is used to quantify the amount of variation or dispersion of a set of data values.\n#68.27% of the values lie within 1 standard deviation(s) of the mean in normal distribution.\n\nstandard_deviation=a.std()\nstandard_deviation"
},
{
"execution_count": 31,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 31,
"metadata": {},
"data": {
"text/plain": "array([-1, 2, 3, 4, 5])"
},
"output_type": "execute_result"
}
],
"source": "# Create a new numpy array\n\nb = np.array([-1, 2, 3, 4, 5])\nb"
},
{
"execution_count": 32,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 32,
"metadata": {},
"data": {
"text/plain": "5"
},
"output_type": "execute_result"
}
],
"source": "# Get the biggest value in the numpy array\n\nmax_b = b.max()\nmax_b"
},
{
"execution_count": 33,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 33,
"metadata": {},
"data": {
"text/plain": "-1"
},
"output_type": "execute_result"
}
],
"source": "# Get the smallest value in the numpy array\n\nmin_b = b.min()\nmin_b"
},
{
"execution_count": 34,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 34,
"metadata": {},
"data": {
"text/plain": "array([1, 1])"
},
"output_type": "execute_result"
}
],
"source": "# Numpy Array Addition\n\nu = np.array([1, 0])\nv = np.array([0, 1])\nz = u + v\nz"
},
{
"execution_count": 35,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": "<matplotlib.figure.Figure at 0x7f074de90198>"
},
"metadata": {}
}
],
"source": "# Plot numpy arrays\n\nPlotvec1(u, z, v)"
},
{
"execution_count": 36,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 36,
"metadata": {},
"data": {
"text/plain": "array([1, 2])"
},
"output_type": "execute_result"
}
],
"source": "# Create a new numpy array\n\ny = np.array([1, 2])\ny"
},
{
"execution_count": 37,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 37,
"metadata": {},
"data": {
"text/plain": "array([2, 4])"
},
"output_type": "execute_result"
}
],
"source": "# Numpy Array Multiplication\n\nz = 2 * y\nz"
},
{
"execution_count": 39,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 39,
"metadata": {},
"data": {
"text/plain": "array([3, 4])"
},
"output_type": "execute_result"
}
],
"source": "# Calculate the product of two numpy arrays\nu = np.array([1, 2])\nv = np.array([3, 2])\nz = u * v\nz"
},
{
"execution_count": 40,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 40,
"metadata": {},
"data": {
"text/plain": "7"
},
"output_type": "execute_result"
}
],
"source": "# Calculate the dot product\n\nnp.dot(u, v)"
},
{
"execution_count": 43,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 43,
"metadata": {},
"data": {
"text/plain": "array([2, 3, 4, 0])"
},
"output_type": "execute_result"
}
],
"source": "# Add the constant to array\n\nu = np.array([1, 2, 3, -1]) \nu = u + 1\nu"
},
{
"execution_count": 44,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 44,
"metadata": {},
"data": {
"text/plain": "3.141592653589793"
},
"output_type": "execute_result"
}
],
"source": "# The value of pie\n\nnp.pi"
},
{
"execution_count": 46,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 46,
"metadata": {},
"data": {
"text/plain": "array([ 0. , 1.57079633, 3.14159265])"
},
"output_type": "execute_result"
}
],
"source": "# Create the numpy array in radians\n\nx = np.array([0, np.pi/2 , np.pi])\nx"
},
{
"execution_count": 47,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 47,
"metadata": {},
"data": {
"text/plain": "array([ 0.00000000e+00, 1.00000000e+00, 1.22464680e-16])"
},
"output_type": "execute_result"
}
],
"source": "# Calculate the sin of each elements\n\ny = np.sin(x)\ny"
},
{
"execution_count": 48,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 48,
"metadata": {},
"data": {
"text/plain": "array([-2., -1., 0., 1., 2.])"
},
"output_type": "execute_result"
}
],
"source": "# Makeup a numpy array within [-2, 2] and 5 elements\n# A useful function for plotting mathematical functions is \"linespace\". \n#Linespace returns evenly spaced numbers over a specified interval. We specify the starting point of the sequence and the ending point of the sequence. \n#The parameter \"num\" indicates the Number of samples to generate, in this case 5:\n\nnp.linspace(-2, 2, num=5)"
},
{
"execution_count": 49,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 49,
"metadata": {},
"data": {
"text/plain": "array([-2. , -1.5, -1. , -0.5, 0. , 0.5, 1. , 1.5, 2. ])"
},
"output_type": "execute_result"
}
],
"source": "# Makeup a numpy array within [-2, 2] and 9 elements\n\nnp.linspace(-2, 2, num=9)"
},
{
"execution_count": 50,
"cell_type": "code",
"metadata": {},
"outputs": [],
"source": "# Makeup a numpy array within [0, 2\u03c0] and 100 elements \n\nx = np.linspace(0, 2*np.pi, num=100)"
},
{
"execution_count": 51,
"cell_type": "code",
"metadata": {},
"outputs": [],
"source": "# Calculate the sine of x list\n\ny = np.sin(x)"
},
{
"execution_count": 52,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 52,
"metadata": {},
"data": {
"text/plain": "[<matplotlib.lines.Line2D at 0x7f074c041828>]"
},
"output_type": "execute_result"
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": "<matplotlib.figure.Figure at 0x7f074c0cce48>"
},
"metadata": {}
}
],
"source": "# Plot the result\n\nplt.plot(x, y)"
},
{
"execution_count": 54,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 54,
"metadata": {},
"data": {
"text/plain": "array([1, 1, 5])"
},
"output_type": "execute_result"
}
],
"source": "#Implement the following vector subtraction in numpy: u-v:\nu=np.array([2,4,6])\nv=np.array([1,3,1])\nw=u-v\nw\n"
},
{
"execution_count": 56,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 56,
"metadata": {},
"data": {
"text/plain": "array([-4, -8])"
},
"output_type": "execute_result"
}
],
"source": "#Multiply the numpy array z by -2:\n\nz = np.array([2, 4])\nz=-2*z\nz"
},
{
"execution_count": 57,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 57,
"metadata": {},
"data": {
"text/plain": "array([1, 0, 3, 0, 5])"
},
"output_type": "execute_result"
}
],
"source": "#Consider the list [1, 2, 3, 4, 5] and [1, 0, 1, 0, 1], and cast both lists to a numpy array then multiply them together:\n\na=np.array([1, 2, 3, 4, 5])\nb=np.array([1, 0, 1, 0, 1])\nc=a*b\nc"
},
{
"execution_count": 61,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": "The dot product is 0\n"
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": "<matplotlib.figure.Figure at 0x7f07422cdda0>"
},
"metadata": {}
}
],
"source": "#Convert the list [-1, 1] and [1, 1] to numpy arrays a and b. Then, plot the arrays as vectors using the fuction Plotvec2 and find the dot product:\na=np.array([-1, 1])\nb=np.array([1, 1])\nPlotvec2(a,b)\nprint(\"The dot product is\", np.dot(a,b))"
},
{
"execution_count": 63,
"cell_type": "code",
"metadata": {},
"outputs": [],
"source": "# 2 dimensional numpy\n\n# Import the libraries\n\nimport numpy as np \nimport matplotlib.pyplot as plt# Create a list\n\n"
},
{
"execution_count": 64,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 64,
"metadata": {},
"data": {
"text/plain": "[[11, 12, 13], [21, 22, 23], [31, 32, 33]]"
},
"output_type": "execute_result"
}
],
"source": "# Create a list\n\na = [[11, 12, 13], [21, 22, 23], [31, 32, 33]]\na"
},
{
"execution_count": 65,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 65,
"metadata": {},
"data": {
"text/plain": "array([[11, 12, 13],\n [21, 22, 23],\n [31, 32, 33]])"
},
"output_type": "execute_result"
}
],
"source": "# Convert list to Numpy Array\n# Every element is the same type\n\nA = np.array(a)\nA"
},
{
"execution_count": 66,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 66,
"metadata": {},
"data": {
"text/plain": "2"
},
"output_type": "execute_result"
}
],
"source": "# Show the numpy array dimensions\n\nA.ndim"
},
{
"execution_count": 67,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 67,
"metadata": {},
"data": {
"text/plain": "(3, 3)"
},
"output_type": "execute_result"
}
],
"source": "# Show the numpy array shape\n\nA.shape"
},
{
"execution_count": 68,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 68,
"metadata": {},
"data": {
"text/plain": "9"
},
"output_type": "execute_result"
}
],
"source": "# Show the numpy array size\n\nA.size"
},
{
"execution_count": 69,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 69,
"metadata": {},
"data": {
"text/plain": "23"
},
"output_type": "execute_result"
}
],
"source": "# Access the element on the second row and third column\n\nA[1, 2]"
},
{
"execution_count": 71,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 71,
"metadata": {},
"data": {
"text/plain": "11"
},
"output_type": "execute_result"
}
],
"source": "# Access the element on the first row and first column\n\nA[0][0]"
},
{
"execution_count": 72,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 72,
"metadata": {},
"data": {
"text/plain": "array([11, 12])"
},
"output_type": "execute_result"
}
],
"source": "# Access the element on the first row and first and second columns\n\nA[0][0:2]"
},
{
"execution_count": 73,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 73,
"metadata": {},
"data": {
"text/plain": "array([13, 23])"
},
"output_type": "execute_result"
}
],
"source": "# Access the element on the first and second rows and third column\n\nA[0:2, 2]"
},
{
"execution_count": 74,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 74,
"metadata": {},
"data": {
"text/plain": "array([[3, 1],\n [1, 3]])"
},
"output_type": "execute_result"
}
],
"source": "# Add 2 numpy arrays X and Y\n\nX = np.array([[1, 0], [0, 1]]) \nY = np.array([[2, 1], [1, 2]]) \nZ = X + Y\nZ"
},
{
"execution_count": 75,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 75,
"metadata": {},
"data": {
"text/plain": "array([[4, 2],\n [2, 4]])"
},
"output_type": "execute_result"
}
],
"source": "# Multiply a numpy array by a scaler:\n\nY = np.array([[2, 1], [1, 2]]) \nZ = 2 * Y\nZ"
},
{
"execution_count": 77,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 77,
"metadata": {},
"data": {
"text/plain": "array([[2, 0],\n [0, 2]])"
},
"output_type": "execute_result"
}
],
"source": "# Multiply 2 matrix X & Y:\n\nY = np.array([[2, 1], [1, 2]]) \nX = np.array([[1, 0], [0, 1]])\nZ = X * Y\nZ"
},
{
"execution_count": 80,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 80,
"metadata": {},
"data": {
"text/plain": "array([[0, 2],\n [0, 2]])"
},
"output_type": "execute_result"
}
],
"source": "# Multiply 2 matrix with different shape but equal size(using dot):\n\nA = np.array([[0, 1, 1], [1, 0, 1]])\nB = np.array([[1, 1], [1, 1], [-1, 1]])\nC=np.dot(A,B)\nC"
},
{
"execution_count": 81,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 81,
"metadata": {},
"data": {
"text/plain": "array([[ 0. , 0.90929743],\n [ 0. , 0.90929743]])"
},
"output_type": "execute_result"
}
],
"source": "# Calculate the sine of C\n\nnp.sin(C)"
},
{
"execution_count": 83,
"cell_type": "code",
"metadata": {},
"outputs": [
{
"execution_count": 83,
"metadata": {},
"data": {
"text/plain": "array([[1, 2, 3],\n [1, 2, 3]])"
},
"output_type": "execute_result"
}
],
"source": "# Create a matrix C /Get the transposed of C\n#In linear algebra, the transpose of a matrix is an operator which flips a matrix over its diagonal,\n#that is it switches the row and column indices of the matrix by producing another matrix denoted as A\u1d40.\n\nC = np.array([[1,1],[2,2],[3,3]])\nC=C.T\nC"
},
{
"execution_count": null,
"cell_type": "code",
"metadata": {},
"outputs": [],
"source": ""
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.5",
"name": "python3",
"language": "python"
},
"language_info": {
"mimetype": "text/x-python",
"nbconvert_exporter": "python",
"version": "3.5.5",
"name": "python",
"file_extension": ".py",
"pygments_lexer": "ipython3",
"codemirror_mode": {
"version": 3,
"name": "ipython"
}
}
},
"nbformat": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment