{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Python Library Practice: NumPy\n",
"\n",
"NumPy is the fundamental package for scientific computing in Python. It provides high-performance multidimensional array objects and tools for working with them.\n",
"\n",
"### Resources:\n",
"Refer to the **[Mathematics for Data Science](https://aashishgarg13.github.io/DataScience/math-ds-complete/)** section on your hub for Linear Algebra concepts that use NumPy.\n",
"\n",
"### Objectives:\n",
"1. **Array Creation**: Create arrays from lists and using built-in functions.\n",
"2. **Array Operations**: Element-wise math and broadcasting.\n",
"3. **Indexing & Slicing**: Selecting specific data points.\n",
"4. **Linear Algebra**: Matrix multiplication and dot products.\n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1. Array Creation\n",
"\n",
"### Task 1: Create Basics\n",
"1. Create a 1D array of numbers from 0 to 9.\n",
"2. Create a 3x3 identity matrix."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"\n",
"# YOUR CODE HERE\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"Click to see Solution
\n",
"\n",
"```python\n",
"arr1 = np.arange(10)\n",
"identity = np.eye(3)\n",
"print(arr1)\n",
"print(identity)\n",
"```\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2. Array Operations\n",
"\n",
"### Task 2: Vector Math\n",
"Given two arrays `a = [10, 20, 30]` and `b = [1, 2, 3]`, perform addition, subtraction, and element-wise multiplication."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"a = np.array([10, 20, 30])\n",
"b = np.array([1, 2, 3])\n",
"\n",
"# YOUR CODE HERE\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"Click to see Solution
\n",
"\n",
"```python\n",
"print(\"Add:\", a + b)\n",
"print(\"Sub:\", a - b)\n",
"print(\"Mul:\", a * b)\n",
"```\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3. Indexing and Slicing\n",
"\n",
"### Task 3: Select Subsets\n",
"Create a 4x4 matrix and extract the middle 2x2 square."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"mat = np.arange(16).reshape(4, 4)\n",
"print(\"Original:\\n\", mat)\n",
"\n",
"# YOUR CODE HERE\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"Click to see Solution
\n",
"\n",
"```python\n",
"middle = mat[1:3, 1:3]\n",
"print(\"Middle 2x2:\\n\", middle)\n",
"```\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 4. Statistics with NumPy\n",
"\n",
"### Task 4: Aggregations\n",
"Calculate the mean, standard deviation, and sum of a random 100-element array."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"data = np.random.randn(100)\n",
"\n",
"# YOUR CODE HERE\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"Click to see Solution
\n",
"\n",
"```python\n",
"print(\"Mean:\", np.mean(data))\n",
"print(\"Std:\", np.std(data))\n",
"print(\"Sum:\", np.sum(data))\n",
"```\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"--- \n",
"### Great NumPy Practice! \n",
"NumPy is the engine behind Pandas and Scikit-Learn. Mastering it makes everything else easier.\n",
"Next: **Pandas Practice**."
]
}
],
"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.12.7"
}
},
"nbformat": 4,
"nbformat_minor": 4
}