{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "5d2d2387",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "0c5af0b5",
   "metadata": {},
   "outputs": [],
   "source": [
    "arr1=np.array((1,2,4,7,8,9,4,5,6,7,9))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "2e0d0565",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "single dimentional: [1 2 4 7 8 9 4 5 6 7 9]\n"
     ]
    }
   ],
   "source": [
    "print(\"single dimentional:\",arr1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "51a43691",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dtype('int64')"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "arr1.dtype"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "f6520b45",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2-d arrays:\n",
      " [[ 10  20  30  40]\n",
      " [100 200 300 400]]\n"
     ]
    }
   ],
   "source": [
    "arr2=np.array([[10,20,30,40],[100,200,300,400]])\n",
    "print(\"2-d arrays:\\n\",arr2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "319161ca",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "arr1: 1\n",
      "arr2: 2\n"
     ]
    }
   ],
   "source": [
    "#checking thair dimensions:\n",
    "print(\"arr1:\",arr1.ndim)\n",
    "print(\"arr2:\",arr2.ndim)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "c71c8ff9",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3-d array:\n",
      " [[[  1   2   3   4]\n",
      "  [ 10  20  30  40]\n",
      "  [100 200 300 400]]]\n",
      "arr3: 3\n"
     ]
    }
   ],
   "source": [
    "arr3=np.array([[[1,2,3,4],[10,20,30,40],[100,200,300,400]]])\n",
    "print(\"3-d array:\\n\",arr3)\n",
    "print(\"arr3:\",arr3.ndim)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "a426eb80",
   "metadata": {},
   "outputs": [],
   "source": [
    "#for casual cheking with data frames :\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "3c61781d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0     1\n",
      "1     2\n",
      "2     4\n",
      "3     7\n",
      "4     8\n",
      "5     9\n",
      "6     4\n",
      "7     5\n",
      "8     6\n",
      "9     7\n",
      "10    9\n",
      "dtype: int64\n"
     ]
    }
   ],
   "source": [
    "d_frame=pd.Series(arr1)\n",
    "print(d_frame)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "aeed557b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "     0    1    2    3\n",
      "0   10   20   30   40\n",
      "1  100  200  300  400\n"
     ]
    }
   ],
   "source": [
    "#array to data frame\n",
    "#here the data frame support only the 2-d arry for printing other wise the print function will show error message:\n",
    "d_frame=pd.DataFrame(arr2)\n",
    "print(d_frame)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "88ae926a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(2, 4)"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "d_frame.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "5d15a9ed",
   "metadata": {},
   "outputs": [],
   "source": [
    "#data frame to array\n",
    "check1=np.array(d_frame)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "c4c87770",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 10  20  30  40]\n",
      " [100 200 300 400]]\n"
     ]
    }
   ],
   "source": [
    "print(check1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "e84c9006",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1-D:\t [1 2 4 7 8 9 4 5 6 7 9] \n",
      "\n",
      "2-D:\t [[ 10  20  30  40]\n",
      " [100 200 300 400]] \n",
      "\n",
      "3-D:\t [[[  1   2   3   4]\n",
      "  [ 10  20  30  40]\n",
      "  [100 200 300 400]]]\n"
     ]
    }
   ],
   "source": [
    "print(\"1-D:\\t\",arr1,\"\\n\")\n",
    "print(\"2-D:\\t\",arr2,\"\\n\")\n",
    "print(\"3-D:\\t\",arr3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "df3e081a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1 2 4 7 8 9 4 5 6 7 9]\n",
      "[1 2 4 7 8 9 4]\n"
     ]
    }
   ],
   "source": [
    "#nupy array indexing with step value:\n",
    "print(arr1)\n",
    "print(arr1[0:7])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "ab12aa05",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "first half of the elements: [1 2 4 7 8]\n"
     ]
    }
   ],
   "source": [
    "#half of the elements are printing:\n",
    "print(\"first half of the elements:\",arr1[:len(arr1)//2])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "55929e0a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1\n",
      "2\n",
      "4\n",
      "7\n",
      "8\n",
      "9\n",
      "4\n",
      "5\n",
      "6\n",
      "7\n",
      "9\n"
     ]
    }
   ],
   "source": [
    "for i in arr1:\n",
    "    print(i)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "id": "0e15e750",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1\n",
      "2\n",
      "3\n",
      "4\n",
      "10\n",
      "20\n",
      "30\n",
      "40\n",
      "100\n",
      "200\n",
      "300\n",
      "400\n"
     ]
    }
   ],
   "source": [
    "#iterating the 3-D array in one loop:\n",
    "for i in np.nditer(arr3[:,::1]):\n",
    "    print(i)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "id": "141305fd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(2, 4)"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "arr2.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "id": "a8cf04d8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1, 3, 4)"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#doubt:ask to sir:\n",
    "arr3.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "id": "661a05b5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.ndim(arr3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "id": "2e53a428",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(11,)"
      ]
     },
     "execution_count": 70,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "arr1.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "id": "f52621d0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10\n"
     ]
    }
   ],
   "source": [
    "#accessign the nd arry elements:\n",
    "#element - 1st row and first column\n",
    "print(arr2[0,0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "id": "78f2bb26",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "300\n"
     ]
    }
   ],
   "source": [
    "#3-d arrray:\n",
    "print(arr3[0,2,2])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "id": "f1dcee88",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 10  20 400 183 142]\n"
     ]
    }
   ],
   "source": [
    "#for the absolute we willl create another array with -ve value\n",
    "arr4=np.array([-10,-20,-400,-183,142])\n",
    "print(abs(arr4))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "id": "27348c65",
   "metadata": {},
   "outputs": [],
   "source": [
    "#reshaping\n",
    "#add or remove from the existing array"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "id": "6248d02a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[array([1, 2, 4, 7, 8, 9]), array([4, 5, 6, 7, 9])]"
      ]
     },
     "execution_count": 84,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.array_split(arr1,2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "id": "072c9d81",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[array([[10, 20, 30, 40]]), array([[100, 200, 300, 400]])]"
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.array_split(arr2,2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "id": "4883ec53",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[array([[[  1,   2,   3,   4],\n",
       "         [ 10,  20,  30,  40],\n",
       "         [100, 200, 300, 400]]]),\n",
       " array([], shape=(0, 3, 4), dtype=int64),\n",
       " array([], shape=(0, 3, 4), dtype=int64)]"
      ]
     },
     "execution_count": 88,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.array_split(arr3,3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "id": "02a8971e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[array([1, 2, 4]), array([7, 8]), array([9, 4]), array([5, 6]), array([7, 9])]"
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.array_split(arr1,5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "id": "e5a999ce",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5\n"
     ]
    }
   ],
   "source": [
    "print(len(arr4))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "id": "7b58a5c0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[[ 1  2]\n",
      "  [ 3  4]\n",
      "  [ 5  6]]\n",
      "\n",
      " [[ 7  8]\n",
      "  [ 9 10]\n",
      "  [11 12]]]\n"
     ]
    }
   ],
   "source": [
    "arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])\n",
    "\n",
    "newarr = arr.reshape(2, 3, 2)\n",
    "print(newarr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "id": "4bb019ce",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1 2 4 7 8 9 4 5 6 7 9]\n"
     ]
    }
   ],
   "source": [
    "#splitting the array:\n",
    "print(arr1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "id": "6fbdf5b6",
   "metadata": {},
   "outputs": [],
   "source": [
    "newarr2=np.array_split(arr1,3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "id": "a254994b",
   "metadata": {},
   "outputs": [
    {
     "ename": "TypeError",
     "evalue": "only integer scalar arrays can be converted to a scalar index",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
      "Input \u001b[0;32mIn [111]\u001b[0m, in \u001b[0;36m<cell line: 1>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i \u001b[38;5;129;01min\u001b[39;00m newarr2:\n\u001b[0;32m----> 2\u001b[0m     \u001b[38;5;28mprint\u001b[39m(\u001b[43mnewarr2\u001b[49m\u001b[43m[\u001b[49m\u001b[43mi\u001b[49m\u001b[43m]\u001b[49m)\n",
      "\u001b[0;31mTypeError\u001b[0m: only integer scalar arrays can be converted to a scalar index"
     ]
    }
   ],
   "source": [
    "for i in newarr2:\n",
    "    print(newarr2[i])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "id": "45ede19a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1 2 4 7]\n",
      "[8 9 4 5]\n",
      "[6 7 9]\n"
     ]
    }
   ],
   "source": [
    "print(newarr2[0])\n",
    "print(newarr2[1])\n",
    "print(newarr2[2])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "id": "b6dc5efb",
   "metadata": {},
   "outputs": [],
   "source": [
    "##searching arrays"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 126,
   "id": "db8ca2e0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1 2 4 7 8 9 4 5 6 7 9]\n",
      "(array([], dtype=int64),)\n"
     ]
    }
   ],
   "source": [
    "arr1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 129,
   "id": "b0d63d87",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(array([0, 2, 3]),)\n"
     ]
    }
   ],
   "source": [
    "arr = np.array([1, 2, 1, 1, 5, 6, 7, 8])\n",
    "\n",
    "x = np.where(arr == 1)\n",
    "\n",
    "print(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 134,
   "id": "32dd0731",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(array([4, 7]),)\n"
     ]
    }
   ],
   "source": [
    "arr=np.array((1,2,3,4,5,2,3,5,6,7,8))\n",
    "x=np.where(arr==5)\n",
    "print(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 136,
   "id": "709be631",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "8\n"
     ]
    }
   ],
   "source": [
    "x = np.searchsorted(arr, 6)\n",
    "print(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 138,
   "id": "eaa35f66",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0 2 2 3 5 6 8 8]\n"
     ]
    }
   ],
   "source": [
    "#sorting:\n",
    "arr=np.array((2,5,2,8,0,3,6,8))\n",
    "print(np.sort(arr))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 139,
   "id": "66b658a1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['azar' 'parmesh' 'ravi' 'sanath']\n"
     ]
    }
   ],
   "source": [
    "arr=np.array((\"sanath\",\"ravi\",\"parmesh\",\"azar\"))\n",
    "print(np.sort(arr))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "id": "2aef5294",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[10 20 29]\n",
      " [ 0 20 83]]\n"
     ]
    }
   ],
   "source": [
    "#we can also sort the 2-d array:\n",
    "arr=np.array([[20,10,29],[0,20,83]])\n",
    "print(np.sort(arr))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 143,
   "id": "60eeeed6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1 3 4]\n"
     ]
    }
   ],
   "source": [
    "arr=np.array([1,2,3,4])\n",
    "x=[True,False,True,True]\n",
    "print(arr[x])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 144,
   "id": "35d8dba5",
   "metadata": {},
   "outputs": [],
   "source": [
    "#nupy rondom class working:\n",
    "#we can predict theese numbers:\n",
    "#machine will generate this:\n",
    "from numpy import random"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 153,
   "id": "859d5dbb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "77"
      ]
     },
     "execution_count": 153,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x=random.randint(100)\n",
    "x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "id": "7cfa7040",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "88\n"
     ]
    }
   ],
   "source": [
    "print(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 154,
   "id": "a1748723",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.88562907, 0.22932804, 0.90857795, 0.2838597 , 0.76885629,\n",
       "       0.87201837, 0.5121362 , 0.89441225, 0.67149354, 0.03825343])"
      ]
     },
     "execution_count": 154,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x=random.rand(10)\n",
    "x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 170,
   "id": "62ef85d8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 6, 16, 29, 50,  6,  0, 99, 11, 88, 33])"
      ]
     },
     "execution_count": 170,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#generating 10 randoom numbers in given range:\n",
    "#and this method is also called as the creating the 2-d array:\n",
    "x=random.randint(100,size=10)\n",
    "x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 158,
   "id": "34d5e7ce",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[40, 55, 86, 42, 85, 35, 18, 13, 11, 35],\n",
       "       [66, 31, 61, 65, 23, 49, 65, 30, 90,  3],\n",
       "       [90, 53, 95, 32, 45, 85, 31, 10, 52, 69]])"
      ]
     },
     "execution_count": 158,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#creating the 3-d array from the rndom :\n",
    "x=random.randint(100,size=(3,10))\n",
    "x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 159,
   "id": "8ae2661e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(3, 10)"
      ]
     },
     "execution_count": 159,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 171,
   "id": "37d6319d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "29"
      ]
     },
     "execution_count": 171,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#upto now we have created random array:\n",
    "# but now we can get the random element from the generatd arry:\n",
    "#only for the 1-d array\n",
    "y=random.choice(x)\n",
    "y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 174,
   "id": "7decc1e0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[5, 7, 9, 7, 3],\n",
       "       [9, 9, 5, 7, 7],\n",
       "       [5, 5, 5, 9, 5]])"
      ]
     },
     "execution_count": 174,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#now we can get the choice of number from the 2-d array by using the size:\n",
    "arr2 = random.choice([3, 5, 7, 9], size=(3, 5))\n",
    "arr2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 179,
   "id": "415e52b4",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1 3 2 4]\n"
     ]
    }
   ],
   "source": [
    "#rndom permutatiions\n",
    "arr=np.array([1,2,3,4])\n",
    "random.shuffle(arr)\n",
    "print(arr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 181,
   "id": "40dbec86",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[4 1 2 3]\n"
     ]
    }
   ],
   "source": [
    "print(random.permutation(arr))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 189,
   "id": "bb115669",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[5, 5, 5, 96, 86]\n"
     ]
    }
   ],
   "source": [
    "#zip method:\n",
    "x1=[1,2,3,93,82]\n",
    "x2=[4,3,2,3,4,]\n",
    "z=[]\n",
    "for i,j in zip(x1,x2):\n",
    "    z.append(i+j)\n",
    "print(z)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 199,
   "id": "2dfc2e91",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 5  5  5 96 86]\n",
      "[-3 -1  1 90 78]\n",
      "[  4   6   6 279 328]\n",
      "[ 0.25        0.66666667  1.5        31.         20.5       ]\n",
      "[       1        8        9   804357 45212176]\n",
      "[1 2 1 0 2]\n",
      "[1 2 1 0 2]\n",
      "(array([ 0,  0,  1, 31, 20]), array([1, 2, 1, 0, 2]))\n"
     ]
    }
   ],
   "source": [
    "#arithmatic operations:\n",
    "print(np.add(x1,x2))\n",
    "print(np.subtract(x1,x2))\n",
    "print(np.multiply(x1,x2))\n",
    "print(np.divide(x1,x2))\n",
    "print(np.power(x1,x2))\n",
    "print(np.mod(x1,x2))\n",
    "print(np.remainder(x1,x2))\n",
    "print(np.divmod(x1,x2))\n",
    "print(np.(x1,x2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6b93fdd9",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.9.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}