trainings/PythonAI/JupyterLab/dzien1_numpy_notebook_trener.ipynb

226 lines
5.1 KiB
Text
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"id": "d057e434",
"metadata": {},
"source": [
"# 🧠 Dzień 1: Środowisko pracy analityka i NumPy\n"
]
},
{
"cell_type": "markdown",
"id": "87a3a255",
"metadata": {},
"source": [
"## 🔧 Konfiguracja środowiska\n",
"Zainstaluj Anacondę i utwórz środowisko Conda o nazwie `ml-env`:\n",
"\n",
"```bash\n",
"conda create -n ml-env python=3.12\n",
"conda activate ml-env\n",
"```\n",
"\n",
"Możesz także użyć `pip` do instalacji paczek:\n",
"\n",
"```bash\n",
"pip install numpy pandas jupyter\n",
"```\n"
]
},
{
"cell_type": "markdown",
"id": "f7fb0290",
"metadata": {},
"source": [
"## 📓 Jupyter Notebook podstawy\n",
"- Komórki kodu i Markdown\n",
"- Skróty klawiszowe (`Ctrl+Enter`, `Shift+Enter`, `A`, `B` itd.)\n",
"\n",
"**Zadanie:** Stwórz komórkę Markdown i wpisz nagłówek oraz listę punktowaną."
]
},
{
"cell_type": "markdown",
"id": "18bf84af",
"metadata": {},
"source": [
"## 🔢 NumPy podstawy\n",
"- Tworzenie wektorów i macierzy\n",
"- Operacje matematyczne\n",
"- Wektoryzacja i broadcasting\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "e3bfabbb",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1 2 3]\n",
"[[1 2]\n",
" [3 4]]\n"
]
}
],
"source": [
"# Przykład: stworzenie wektora i macierzy\n",
"import numpy as np\n",
"\n",
"wektor = np.array([1, 2, 3])\n",
"macierz = np.array([[1, 2], [3, 4]])\n",
"print(wektor)\n",
"print(macierz)"
]
},
{
"cell_type": "markdown",
"id": "666b0410",
"metadata": {},
"source": [
"### ✍️ Zadanie 1\n",
"Stwórz:\n",
"- wektor 1D z liczbami od 10 do 20\n",
"- macierz 3x3 z losowymi liczbami całkowitymi od 0 do 100"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "10555f08",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[10 11 12 13 14 15 16 17 18 19 20]\n",
"[[26 84 24]\n",
" [92 74 70]\n",
" [91 15 14]]\n"
]
}
],
"source": [
"# Zadanie 1 Przykładowe rozwiązanie\n",
"wektor = np.arange(10, 21)\n",
"macierz = np.random.randint(0, 101, size=(3, 3))\n",
"print(wektor)\n",
"print(macierz)"
]
},
{
"cell_type": "markdown",
"id": "3660456f",
"metadata": {},
"source": [
"### ✍️ Zadanie 2\n",
"Wykonaj dodawanie, mnożenie i dzielenie elementów dwóch tablic NumPy o takim samym rozmiarze."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "64897ffd",
"metadata": {},
"outputs": [],
"source": [
"# Zadanie 2 Przykładowe rozwiązanie\n",
"a = np.array([1, 2, 3])\n",
"b = np.array([4, 5, 6])\n",
"print(\"Dodawanie:\", a + b)\n",
"print(\"Mnożenie:\", a * b)\n",
"print(\"Dzielenie:\", a / b)"
]
},
{
"cell_type": "markdown",
"id": "92dc2d65",
"metadata": {},
"source": [
"## 🎯 Wektoryzacja i broadcasting\n",
"Pokażmy, jak NumPy automatycznie rozszerza kształty macierzy:\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "7d8b1810",
"metadata": {},
"outputs": [],
"source": [
"a = np.array([1, 2, 3])\n",
"b = 10\n",
"a * b # broadcasting mnożenia przez skalar"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "a2a2bb9d",
"metadata": {},
"outputs": [],
"source": [
"# Zadanie 3 Przykładowe rozwiązanie\n",
"macierz = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])\n",
"wektor = np.array([10, 20, 30])\n",
"# Dodanie wektora do każdej kolumny\n",
"wynik1 = macierz + wektor\n",
"# Przemnożenie kolumn przez inne wartości\n",
"współczynniki = np.array([1, 2, 3])\n",
"wynik2 = macierz * współczynniki\n",
"print(\"Dodanie:\", wynik1, sep=\"\\n\")\n",
"print(\"Mnożenie:\", wynik2, sep=\"\\n\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "4a54d6b7",
"metadata": {},
"outputs": [],
"source": [
"# Tutaj wpisz swoje rozwiązanie\n"
]
},
{
"cell_type": "markdown",
"id": "1823dd52",
"metadata": {},
"source": [
"## ✅ Podsumowanie dnia 1\n",
"Znasz już:\n",
"- podstawy Conda, pip i środowisk\n",
"- jak korzystać z Jupyter Notebook\n",
"- jak tworzyć i przekształcać dane w NumPy\n",
"\n",
"W kolejnym dniu przejdziemy do Pandas i pobierania danych."
]
}
],
"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.12.9"
}
},
"nbformat": 4,
"nbformat_minor": 5
}