{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### set seed"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"np.random.seed(123)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### set random state which is independent from the global seed"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0.88594794, 0.07791236, 0.97964616, 0.24767146, 0.75288472,\n",
" 0.52667564, 0.90755375, 0.8840703 , 0.08926896, 0.5173446 ])"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"rs = np.random.RandomState(321)\n",
"rs.rand(10)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### generate a random sample from interval [0, 1) in a given shape"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.6964691855978616\n"
]
}
],
"source": [
"# generate a random scalar\n",
"print(np.random.rand()) "
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0.28613933 0.22685145 0.55131477]\n"
]
}
],
"source": [
"# generate a 1-D array\n",
"print(np.random.rand(3)) "
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[0.71946897 0.42310646 0.9807642 ]\n",
" [0.68482974 0.4809319 0.39211752]\n",
" [0.34317802 0.72904971 0.43857224]]\n"
]
}
],
"source": [
"# generate a 2-D array\n",
"print(np.random.rand(3,3)) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### generate a sample from the standard normal distribution (mean = 0, var = 1)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[-0.14337247 -0.6191909 -0.76943347]\n",
" [ 0.57674602 0.12652592 -1.30148897]\n",
" [ 2.20742744 0.52274247 0.46564476]]\n"
]
}
],
"source": [
"print(np.random.randn(3,3))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### generate an array of random integers in a given interval [low, high)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[5 7 2]\n"
]
}
],
"source": [
"# np.ranodm.randint(low, high, size, dtype)\n",
"print(np.random.randint(1, 10, 3, 'i8'))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### generate an array of random floating-point numbers in the interval [0.0, 1.0)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0.65472131 0.37380143 0.23451288 0.98799529 0.76599595 0.77700444\n",
" 0.02798196 0.17390652 0.15408224 0.07708648]\n",
"[0.8898657 0.7503787 0.69340324 0.51176338 0.46426806 0.56843069\n",
" 0.30254945 0.49730879 0.68326291 0.91669867]\n",
"[0.10892895 0.49549179 0.23283593 0.43686066 0.75154299 0.48089213\n",
" 0.79772841 0.28270293 0.43341824 0.00975735]\n",
"[0.34079598 0.68927201 0.86936929 0.26780382 0.45674792 0.26828131\n",
" 0.8370528 0.27051466 0.53006201 0.17537266]\n"
]
}
],
"source": [
"# the following methods are the same as np.random.rand()\n",
"print(np.random.random_sample(10))\n",
"print(np.random.random(10))\n",
"print(np.random.ranf(10))\n",
"print(np.random.sample(10))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### generate a random sample from a given 1-D array"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1 1 1 1 1 1 1 2 2 1]\n"
]
}
],
"source": [
"# np.random.choice(iterable_or_int, size, replace=True, p=weights)\n",
"print(np.random.choice(range(3), 10, replace=True, p=[0.1, 0.8, 0.1]))"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1 0 1 2 2 0 1 1 1 0]\n"
]
}
],
"source": [
"print(np.random.choice(3, 10))"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[2 2 1 3 2 3 1 2 1 3]\n"
]
}
],
"source": [
"print(np.random.choice([1,2,3], 10))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### shuffle an array in place"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0 1 2 3 4 5 6 7 8 9]\n"
]
}
],
"source": [
"arr = np.array(range(10))\n",
"print(arr)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1 2 8 5 4 0 6 7 9 3]\n"
]
}
],
"source": [
"np.random.shuffle(arr)\n",
"print(arr)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### generate a permutation of an array"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The initial array: [0 1 2 3 4 5 6 7 8 9]\n",
"A permutation of the array: [3 6 2 4 5 9 1 8 0 7]\n"
]
}
],
"source": [
"# similar to np.random.shuffle(), but it returns a copy rather than making changes in place\n",
"arr = np.array(range(10))\n",
"print('The initial array: ', arr)\n",
"print('A permutation of the array: ', np.random.permutation(arr))"
]
}
],
"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.6.6"
}
},
"nbformat": 4,
"nbformat_minor": 2
}