226 lines
5.1 KiB
Text
226 lines
5.1 KiB
Text
{
|
||
"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
|
||
}
|