Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
286 changes: 286 additions & 0 deletions jjack113.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,286 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"IPython version: %6.6s 7.17.0\n"
]
}
],
"source": [
"import IPython\n",
"import json\n",
"# Numpy is a library for working with Arrays\n",
"import numpy as np\n",
"# SciPy implements many different numerical algorithms\n",
"import scipy as sp\n",
"# Pandas is good with data tables\n",
"import pandas as pd\n",
"# Module for plotting\n",
"import matplotlib\n",
"#BeautifulSoup parses HTML documents (once you get them via requests)\n",
"import bs4\n",
"# Nltk helps with some natural language tasks, like stemming\n",
"import nltk\n",
"# Bson is a binary format of json to be stored in databases\n",
"import bson\n",
"# Mongo is one of common nosql databases \n",
"# it stores/searches json documents natively\n",
"import pymongo\n",
"print (\"IPython version: %6.6s\", IPython.__version__)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Make a 2 row x 3 column array of random numbers\n",
"[[0.88498519 0.11704372 0.660586 ]\n",
" [0.41760578 0.12936561 0.94512844]]\n",
"Add 5 to every element\n",
"[[5.88498519 5.11704372 5.660586 ]\n",
" [5.41760578 5.12936561 5.94512844]]\n",
"Get the first row\n",
"[5.88498519 5.11704372 5.660586 ]\n"
]
}
],
"source": [
"#Here is what numpy can do\\n\",\n",
"print (\"Make a 2 row x 3 column array of random numbers\")\n",
"x = np.random.random((2, 3))\n",
"print (x)\n",
"\n",
"#array operation (as in R)\n",
"print (\"Add 5 to every element\")\n",
"x = x + 5\n",
"print (x)\n",
"\n",
"# get a slice (first row) (as in R)\n",
"print (\"Get the first row\")\n",
"print (x[0, :])"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<function ndarray.any>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# IPython is quite modern: just press <TAB> at the end of the unfinished statement to see the documentation\n",
"# on possible completions.\n",
"# In the code cell below, type x.<TAB>, to find built-in operations for x\n",
"x.any"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline \n",
"import matplotlib.pyplot as plt\n",
"heads = np.random.binomial(500, .5, size=500)\n",
"histogram = plt.hist(heads, bins=10)"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"# Task 1\n",
"## write a program to produce Fibonacci numbers up to 1000000"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0\n",
"1\n",
"1\n",
"2\n",
"3\n",
"5\n",
"8\n",
"13\n",
"21\n",
"34\n",
"55\n",
"89\n",
"144\n",
"233\n",
"377\n",
"610\n",
"987\n",
"1597\n",
"2584\n",
"4181\n",
"6765\n",
"10946\n",
"17711\n",
"28657\n",
"46368\n",
"75025\n",
"121393\n",
"196418\n",
"317811\n",
"514229\n",
"832040\n"
]
}
],
"source": [
"count = 0\n",
"x = 0\n",
"y = 1\n",
"\n",
"while count < nterms:\n",
" if x < 1000000:\n",
" print(x)\n",
" next_num = x + y\n",
" x = y\n",
" y = next_num\n",
" count += 1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Task 2\n",
"## write a program to simulate 1000 tosses of a fair coin (use np.random.binomial)\n",
"## Calculate the mean and standard deviation of that sample"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.508\n",
"0.49993599590347565\n"
]
}
],
"source": [
"import numpy as np\n",
"n, p = 1, .5\n",
"s = np.random.binomial(n, p, 1000)\n",
"mean = sum(s)/1000 \n",
"print(mean)\n",
"sd = np.std(s)\n",
"print(sd)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Task 3\n",
"## Produce a scatterplot of y = 0.5*x+e where x has gaussian (0, 5) and e has gaussian (0, 1) distributions \n",
"### use numpy.random.normal to generate gaussian distribution"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'plt' is not defined",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-19-a8aa6c41ed67>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0me\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrandom\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnormal\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1000\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[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m0.5\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0mscatterplot\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mscatter\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[0;31mNameError\u001b[0m: name 'plt' is not defined"
]
}
],
"source": [
"import matplotlib\n",
"x = np.random.normal(0,5,1000)\n",
"e = np.random.normal(0,1,1000)\n",
"y = 0.5 * x + e\n",
"scatterplot = plt.scatter(x,y)"
]
},
{
"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.8.2"
}
},
"nbformat": 4,
"nbformat_minor": 1
}