167 lines
29 KiB
Plaintext
167 lines
29 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "6ac02338-6e18-4fbc-874a-67d98f58cd38",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Запуск обработки данных с tqdm...\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Обработка строк: 100%|\u001b[32m███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████\u001b[0m| 1000/1000 [00:05<00:00, 174.99row/s]\u001b[0m\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\n",
|
||
"Обработка завершена!\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Общий прогресс: 0%| | 0/5 [00:00<?, ?it/s]\n",
|
||
"Этап 1: 0%| | 0/100 [00:00<?, ?it/s]\u001b[A\n",
|
||
"Этап 1: 10%|██████████████████ | 10/100 [00:00<00:00, 94.51it/s]\u001b[A\n",
|
||
"Этап 1: 20%|████████████████████████████████████▏ | 20/100 [00:00<00:00, 93.67it/s]\u001b[A\n",
|
||
"Этап 1: 30%|██████████████████████████████████████████████████████▎ | 30/100 [00:00<00:00, 93.27it/s]\u001b[A\n",
|
||
"Этап 1: 40%|████████████████████████████████████████████████████████████████████████▍ | 40/100 [00:00<00:00, 93.07it/s]\u001b[A\n",
|
||
"Этап 1: 50%|██████████████████████████████████████████████████████████████████████████████████████████▌ | 50/100 [00:00<00:00, 92.95it/s]\u001b[A\n",
|
||
"Этап 1: 60%|████████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 60/100 [00:00<00:00, 92.65it/s]\u001b[A\n",
|
||
"Этап 1: 70%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 70/100 [00:00<00:00, 91.36it/s]\u001b[A\n",
|
||
"Этап 1: 80%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 80/100 [00:00<00:00, 91.22it/s]\u001b[A\n",
|
||
"Этап 1: 90%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 90/100 [00:00<00:00, 91.55it/s]\u001b[A\n",
|
||
"Этап 1: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:01<00:00, 92.34it/s]\u001b[A\n",
|
||
"Общий прогресс: 20%|███████████████████████████████████▏ | 1/5 [00:01<00:04, 1.09s/it]\u001b[A\n",
|
||
"Этап 2: 0%| | 0/100 [00:00<?, ?it/s]\u001b[A\n",
|
||
"Этап 2: 10%|██████████████████ | 10/100 [00:00<00:00, 93.73it/s]\u001b[A\n",
|
||
"Этап 2: 20%|████████████████████████████████████▏ | 20/100 [00:00<00:00, 94.35it/s]\u001b[A\n",
|
||
"Этап 2: 30%|██████████████████████████████████████████████████████▎ | 30/100 [00:00<00:00, 95.35it/s]\u001b[A\n",
|
||
"Этап 2: 40%|████████████████████████████████████████████████████████████████████████▍ | 40/100 [00:00<00:00, 94.90it/s]\u001b[A\n",
|
||
"Этап 2: 50%|██████████████████████████████████████████████████████████████████████████████████████████▌ | 50/100 [00:00<00:00, 94.21it/s]\u001b[A\n",
|
||
"Этап 2: 60%|████████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 60/100 [00:00<00:00, 93.83it/s]\u001b[A\n",
|
||
"Этап 2: 70%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 70/100 [00:00<00:00, 93.05it/s]\u001b[A\n",
|
||
"Этап 2: 80%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 80/100 [00:00<00:00, 93.72it/s]\u001b[A\n",
|
||
"Этап 2: 90%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 90/100 [00:00<00:00, 92.32it/s]\u001b[A\n",
|
||
"Этап 2: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:01<00:00, 92.27it/s]\u001b[A\n",
|
||
"Общий прогресс: 40%|██████████████████████████████████████████████████████████████████████▍ | 2/5 [00:02<00:03, 1.08s/it]\u001b[A\n",
|
||
"Этап 3: 0%| | 0/100 [00:00<?, ?it/s]\u001b[A\n",
|
||
"Этап 3: 10%|██████████████████ | 10/100 [00:00<00:00, 94.59it/s]\u001b[A\n",
|
||
"Этап 3: 20%|████████████████████████████████████▏ | 20/100 [00:00<00:00, 92.75it/s]\u001b[A\n",
|
||
"Этап 3: 30%|██████████████████████████████████████████████████████▎ | 30/100 [00:00<00:00, 93.11it/s]\u001b[A\n",
|
||
"Этап 3: 40%|████████████████████████████████████████████████████████████████████████▍ | 40/100 [00:00<00:00, 93.59it/s]\u001b[A\n",
|
||
"Этап 3: 50%|██████████████████████████████████████████████████████████████████████████████████████████▌ | 50/100 [00:00<00:00, 93.34it/s]\u001b[A\n",
|
||
"Этап 3: 60%|████████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 60/100 [00:00<00:00, 92.72it/s]\u001b[A\n",
|
||
"Этап 3: 70%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 70/100 [00:00<00:00, 92.58it/s]\u001b[A\n",
|
||
"Этап 3: 80%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 80/100 [00:00<00:00, 93.01it/s]\u001b[A\n",
|
||
"Этап 3: 90%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 90/100 [00:00<00:00, 93.08it/s]\u001b[A\n",
|
||
"Этап 3: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:01<00:00, 91.88it/s]\u001b[A\n",
|
||
"Общий прогресс: 60%|█████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 3/5 [00:03<00:02, 1.08s/it]\u001b[A\n",
|
||
"Этап 4: 0%| | 0/100 [00:00<?, ?it/s]\u001b[A\n",
|
||
"Этап 4: 10%|██████████████████ | 10/100 [00:00<00:00, 94.63it/s]\u001b[A\n",
|
||
"Этап 4: 20%|████████████████████████████████████▏ | 20/100 [00:00<00:00, 93.68it/s]\u001b[A\n",
|
||
"Этап 4: 30%|██████████████████████████████████████████████████████▎ | 30/100 [00:00<00:00, 93.20it/s]\u001b[A\n",
|
||
"Этап 4: 40%|████████████████████████████████████████████████████████████████████████▍ | 40/100 [00:00<00:00, 92.15it/s]\u001b[A\n",
|
||
"Этап 4: 50%|██████████████████████████████████████████████████████████████████████████████████████████▌ | 50/100 [00:00<00:00, 92.53it/s]\u001b[A\n",
|
||
"Этап 4: 60%|████████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 60/100 [00:00<00:00, 92.56it/s]\u001b[A\n",
|
||
"Этап 4: 70%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 70/100 [00:00<00:00, 92.67it/s]\u001b[A\n",
|
||
"Этап 4: 80%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 80/100 [00:00<00:00, 92.54it/s]\u001b[A\n",
|
||
"Этап 4: 90%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 90/100 [00:00<00:00, 92.48it/s]\u001b[A\n",
|
||
"Этап 4: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:01<00:00, 92.38it/s]\u001b[A\n",
|
||
"Общий прогресс: 80%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 4/5 [00:04<00:01, 1.08s/it]\u001b[A\n",
|
||
"Этап 5: 0%| | 0/100 [00:00<?, ?it/s]\u001b[A\n",
|
||
"Этап 5: 10%|██████████████████ | 10/100 [00:00<00:00, 93.30it/s]\u001b[A\n",
|
||
"Этап 5: 20%|████████████████████████████████████▏ | 20/100 [00:00<00:00, 92.38it/s]\u001b[A\n",
|
||
"Этап 5: 30%|██████████████████████████████████████████████████████▎ | 30/100 [00:00<00:00, 92.08it/s]\u001b[A\n",
|
||
"Этап 5: 40%|████████████████████████████████████████████████████████████████████████▍ | 40/100 [00:00<00:00, 92.83it/s]\u001b[A\n",
|
||
"Этап 5: 50%|██████████████████████████████████████████████████████████████████████████████████████████▌ | 50/100 [00:00<00:00, 92.51it/s]\u001b[A\n",
|
||
"Этап 5: 60%|████████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 60/100 [00:00<00:00, 92.76it/s]\u001b[A\n",
|
||
"Этап 5: 70%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 70/100 [00:00<00:00, 92.60it/s]\u001b[A\n",
|
||
"Этап 5: 80%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊ | 80/100 [00:00<00:00, 92.75it/s]\u001b[A\n",
|
||
"Этап 5: 90%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 90/100 [00:00<00:00, 93.10it/s]\u001b[A\n",
|
||
"Этап 5: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:01<00:00, 92.48it/s]\u001b[A\n",
|
||
"Общий прогресс: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 5/5 [00:05<00:00, 1.08s/it]\u001b[A\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"import pandas as pd\n",
|
||
"import numpy as np\n",
|
||
"from tqdm import tqdm\n",
|
||
"import time\n",
|
||
"\n",
|
||
"# 1. Подготовка данных (создаем DataFrame на 1000 строк)\n",
|
||
"df = pd.DataFrame({\n",
|
||
" 'ID': range(1000),\n",
|
||
" 'Data': np.random.randn(1000)\n",
|
||
"})\n",
|
||
"\n",
|
||
"print(\"Запуск обработки данных с tqdm...\")\n",
|
||
"\n",
|
||
"# 2. Использование tqdm для итерации по DataFrame (iterrows)\n",
|
||
"# Добавляем кастомную стилизацию через аргументы:\n",
|
||
"# desc — описание процесса\n",
|
||
"# unit — единица измерения\n",
|
||
"# colour — цвет бара (поддерживается в современных терминалах/ноутбуках)\n",
|
||
"for index, row in tqdm(df.iterrows(), \n",
|
||
" total=df.shape[0], \n",
|
||
" desc=\"Обработка строк\", \n",
|
||
" unit=\"row\", \n",
|
||
" colour=\"green\"):\n",
|
||
" \n",
|
||
" # Симуляция сложной обработки данных\n",
|
||
" time.sleep(0.005) \n",
|
||
" _ = row['Data'] ** 2\n",
|
||
"\n",
|
||
"print(\"\\nОбработка завершена!\")\n",
|
||
"\n",
|
||
"# 3. Пример с вложенным циклом и кастомным описанием\n",
|
||
"for i in tqdm(range(5), desc=\"Общий прогресс\", position=0):\n",
|
||
" for j in tqdm(range(100), desc=f\"Этап {i+1}\", position=1, leave=False):\n",
|
||
" time.sleep(0.01)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "991a6680-77de-40b0-a078-c595653cc3ed",
|
||
"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.13.5"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 5
|
||
}
|