numpy refactor
This commit is contained in:
118
notebooks/test_book.ipynb
Normal file
118
notebooks/test_book.ipynb
Normal file
@@ -0,0 +1,118 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"id": "initial_id",
|
||||
"metadata": {
|
||||
"collapsed": true,
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-03-12T14:46:19.236991Z",
|
||||
"start_time": "2025-03-12T14:46:19.232966Z"
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"import numpy as np\n",
|
||||
"keypad_matrix = np.array([[1, 2, 3],\n",
|
||||
" [4, 5, 6],\n",
|
||||
" [7, 8, 9]])"
|
||||
],
|
||||
"outputs": [],
|
||||
"execution_count": 5
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-03-12T14:46:19.249251Z",
|
||||
"start_time": "2025-03-12T14:46:19.244635Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
"source": [
|
||||
"rng = np.random.default_rng()\n",
|
||||
"\n",
|
||||
"# Step 1: Get the matrix\n",
|
||||
"keypad_view = keypad_matrix.copy() # Using copy to simulate self.keypad_matrix()\n",
|
||||
"print(\"Original keypad_view:\")\n",
|
||||
"print(keypad_view)\n",
|
||||
"# Output:\n",
|
||||
"# [[1 2 3]\n",
|
||||
"# [4 5 6]\n",
|
||||
"# [7 8 9]]\n",
|
||||
"\n",
|
||||
"# Step 2: Shuffle rows in place\n",
|
||||
"rng.shuffle(keypad_view, axis=0)\n",
|
||||
"print(\"After rng.shuffle(keypad_view, axis=0):\")\n",
|
||||
"print(keypad_view)\n",
|
||||
"# Output (rows shuffled):\n",
|
||||
"# [[7 8 9]\n",
|
||||
"# [1 2 3]\n",
|
||||
"# [4 5 6]]\n",
|
||||
"\n",
|
||||
"# Step 3: Transpose\n",
|
||||
"set_view = keypad_view.T\n",
|
||||
"print(\"After set_view = keypad_view.T:\")\n",
|
||||
"print(set_view)\n",
|
||||
"# Output (rows become columns):\n",
|
||||
"# [[7 1 4]\n",
|
||||
"# [8 2 5]\n",
|
||||
"# [9 3 6]]\n",
|
||||
"\n",
|
||||
"# Step 4: Shuffle each row independently\n",
|
||||
"set_view = rng.permutation(set_view, axis=1)\n",
|
||||
"print(\"After rng.permutation(set_view, axis=1):\")\n",
|
||||
"print(set_view)\n",
|
||||
"# Output (each row shuffled independently):\n",
|
||||
"# [[4 1 7]\n",
|
||||
"# [5 8 2]\n",
|
||||
"# [3 6 9]]"
|
||||
],
|
||||
"id": "c7db73ce336d9f0a",
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Original keypad_view:\n",
|
||||
"[[1 2 3]\n",
|
||||
" [4 5 6]\n",
|
||||
" [7 8 9]]\n",
|
||||
"After rng.shuffle(keypad_view, axis=0):\n",
|
||||
"[[7 8 9]\n",
|
||||
" [1 2 3]\n",
|
||||
" [4 5 6]]\n",
|
||||
"After set_view = keypad_view.T:\n",
|
||||
"[[7 1 4]\n",
|
||||
" [8 2 5]\n",
|
||||
" [9 3 6]]\n",
|
||||
"After rng.permutation(set_view, axis=1):\n",
|
||||
"[[4 7 1]\n",
|
||||
" [5 8 2]\n",
|
||||
" [6 9 3]]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"execution_count": 6
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 2
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython2",
|
||||
"version": "2.7.6"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
Reference in New Issue
Block a user