Библиотеки Python

90 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: ✓ успешные, ✗ неуспешные.

Что вернёт выражение df[df['Region'] == 'ASIA'].shape[0]?

  1. пару чисел (строки, столбцы)
  2. количество строк (стран Азии)
  3. количество столбцов таблицы
  4. ошибку

На испытательном стенде расположена сетка из \(n\times m\) датчиков. В каждой ячейке — целое показание датчика. Вычислите:

  • максимумы по строкам \(r_i = \max_j a_{ij}\);

  • минимумы по столбцам \(c_j = \min_i a_{ij}\).

Формат ввода

Первая строка: \(n\) и \(m\) (\(1\le n,m\le 500\)). Следующие \(n\) строк по \(m\) целых чисел.

Формат вывода

Строка 1: \(n\) чисел — максимумы по строкам. Строка 2: \(m\) чисел — минимумы по столбцам.

Пример ввода:

3 3
5 12 8
3 7 15
10 6 4

Пример вывода:

12 15 10
3 6 4

Подсказка. np.max(axis=1) и np.min(axis=0).

Выполните Z-нормализацию (стандартизацию) массива: \(z_i = \frac{a_i - \bar{a}}{\sigma},\)  где \(\bar{a}\) — среднее, \(\sigma\) — стандартное отклонение (ddof=0). После стандартизации среднее \(\approx 0\), стандартное отклонение \(\approx 1\).

Формат ввода

Первая строка — \(n\) (\(2\le n\le 10^5\)). Вторая строка — \(n\) вещественных чисел. Гарантируется \(\sigma>0\).

Формат вывода

Одна строка — \(n\) чисел, каждое округлено до 4 знаков, через пробел.

Пример ввода:

5
10.0 20.0 30.0 40.0 50.0

Пример вывода:

-1.4142 -0.7071 0.0000 0.7071 1.4142

Подсказка. np.mean(), np.std() и поэлементные операции NumPy.

В физической лаборатории проведена серия измерений ускорения свободного падения \(g\) (м/с\(^2\)). Дан массив из \(n\) вещественных чисел. С помощью NumPy вычислите пять характеристик.

Формат ввода

Первая строка — \(n\) (\(1\le n\le 10^5\)). Вторая строка — \(n\) вещественных чисел через пробел.

Формат вывода

Пять строк (значение округлено до 4 знаков после запятой):

  • count — количество элементов \(n\);

  • sum — сумма: \(S=\sum a_i\);

  • mean — среднее: \(\bar{a}=S/n\);

  • range — размах: \(\max(a)-\min(a)\);

  • variance — дисперсия: \(D=\frac{1}{n}\sum(a_i-\bar{a})^2\).

Пример ввода:

5
9.78 9.82 9.81 9.79 9.80

Пример вывода:

count: 5
sum: 49.0000
mean: 9.8000
range: 0.0400
variance: 0.0002

В матрице \(n\times m\) записаны результаты серий экспериментов (строка — серия, столбец — параметр). Вычислите:

  • максимумы по строкам \(r_i = \max_j a_{ij}\);

  • минимумы по столбцам \(c_j = \min_i a_{ij}\).

Формат ввода

Первая строка: \(n\) и \(m\) (\(1\le n,m\le 500\)). Следующие \(n\) строк по \(m\) целых чисел.

Формат вывода

Строка 1: \(n\) чисел — максимумы по строкам. Строка 2: \(m\) чисел — минимумы по столбцам.

Пример ввода:

3 3
5 12 8
3 7 15
10 6 4

Пример вывода:

12 15 10
3 6 4

Подсказка. np.max(axis=1) и np.min(axis=0).

Выполните Z-нормализацию (стандартизацию) массива: \[z_i = \frac{a_i - \bar{a}}{\sigma},\] где \(\bar{a}\) — среднее, \(\sigma\) — стандартное отклонение (ddof=0). После стандартизации среднее \(\approx 0\), стандартное отклонение \(\approx 1\).

Формат ввода

Первая строка — \(n\) (\(2\le n\le 10^5\)). Вторая строка — \(n\) вещественных чисел. Гарантируется \(\sigma>0\).

Формат вывода

Одна строка — \(n\) чисел, каждое округлено до 4 знаков, через пробел.

Пример ввода:

5
10.0 20.0 30.0 40.0 50.0

Пример вывода:

-1.4142 -0.7071 0.0000 0.7071 1.4142

Подсказка. np.mean(), np.std() и поэлементные операции NumPy.

В лаборатории проведена серия измерений концентрации раствора. Дан массив из \(n\) вещественных чисел. С помощью NumPy вычислите пять характеристик.

Формат ввода

Первая строка — \(n\) (\(1\le n\le 10^5\)). Вторая строка — \(n\) вещественных чисел через пробел.

Формат вывода

Пять строк (значение округлено до 4 знаков после запятой):

  • count — количество элементов \(n\);

  • sum — сумма: \(S=\sum a_i\);

  • mean — среднее: \(\bar{a}=S/n\);

  • range — размах: \(\max(a)-\min(a)\);

  • variance — дисперсия: \(D=\frac{1}{n}\sum(a_i-\bar{a})^2\).

Пример ввода:

5
1.98 2.02 2.00 1.95 2.05

Пример вывода:

count: 5
sum: 10.0000
mean: 2.0000
range: 0.1000
variance: 0.0012

На испытательном стенде расположена сетка из \(n\times m\) датчиков давления. В каждой ячейке матрицы — показание датчика (целое число). Вычислите:

  • суммы по строкам \(r_i = \sum_{j} a_{ij}\) — суммарное давление по каждому ряду;

  • суммы по столбцам \(c_j = \sum_{i} a_{ij}\) — суммарное давление по каждому столбцу.

Формат ввода

Первая строка: \(n\) и \(m\) (\(1\le n,m\le 500\)). Следующие \(n\) строк по \(m\) целых чисел.

Формат вывода

Строка 1: \(n\) чисел — суммы по строкам. Строка 2: \(m\) чисел — суммы по столбцам.

Пример ввода:

3 3
5 12 8
3 7 15
10 6 4

Пример вывода:

25 25 20
18 25 27

Подсказка. Метод np.sum(axis=...): axis=1 — суммы по строкам, axis=0 — по столбцам.

✓ 11✗ 6600лёгкаяВойти и решать

При обработке данных физического эксперимента часто требуется привести показания датчика к единому масштабу. Выполните min-max нормализацию массива: \( x_{\mathrm{norm}} = \frac{x - \min(a)}{\max(a)-\min(a)}.\) После нормализации все значения лежат в отрезке \([0;\,1]\).

Формат ввода

Первая строка — целое число \(n\) (\(2\le n\le 10^5\)). Вторая строка — \(n\) вещественных чисел через пробел. Гарантируется, что \(\min(a)\ne\max(a)\).

Формат вывода

Одна строка — \(n\) вещественных чисел, каждое округлено до 4 знаков после запятой, через пробел.

Пример ввода:

5
10.0 20.0 30.0 40.0 50.0

Пример вывода:

0.0000 0.2500 0.5000 0.7500 1.0000

Подсказка. Функции np.min(), np.max() позволяют решить задачу в одну-две строки без циклов.

✓ 13✗ 29600лёгкаяВойти и решать

В физической лаборатории проведена серия измерений периода колебаний маятника (в секундах). Дан массив из \(n\) вещественных чисел. С помощью NumPy вычислите пять статистических характеристик.

Формат ввода

Первая строка — целое число \(n\) (\(1\le n\le 10^5\)). Вторая строка — \(n\) вещественных чисел через пробел.

Формат вывода

Пять строк вида метка: значение, значение округлено до 4 знаков после запятой:

  • min — минимум;

  • max — максимум;

  • mean — среднее: \(\bar{a}=\frac{1}{n}\sum_{i=1}^{n}a_i\);

  • median — медиана;

  • std — стандартное отклонение: \(\sigma=\sqrt{\frac{1}{n}\sum_{i=1}^{n}(a_i-\bar{a})^2}\).

Пример ввода:

5
1.98 2.02 2.00 1.95 2.05

Пример вывода:

min: 1.9500
max: 2.0500
mean: 2.0000
median: 2.0000
std: 0.0341
✓ 12✗ 24600лёгкаяВойти и решать

Биолог провёл эксперимент: на \(n\) чашках Петри засеяны бактерии \(m\) различных штаммов. В каждой ячейке матрицы — количество выросших колоний. Вычислите:

  • суммы по строкам \(r_i = \displaystyle\sum_{j} a_{ij}\) — общее число колоний на каждой чашке;

  • суммы по столбцам \(c_j = \displaystyle\sum_{i} a_{ij}\) — общее число колоний каждого штамма.

Формат ввода

Первая строка: \(n\) и \(m\) (\(1\le n,m\le 500\)). Следующие \(n\) строк по \(m\) целых чисел.

Формат вывода

Строка 1: \(n\) чисел — суммы по строкам. Строка 2: \(m\) чисел — суммы по столбцам.

Пример ввода:

3 4
12 5 8 3
7 15 2 10
4 6 11 9

Пример вывода:

28 34 30
23 26 21 22

Подсказка. Метод np.sum(axis=...): axis=1 — суммы по строкам, axis=0 — по столбцам.

✓ 9✗ 11700средняяВойти и решать

При обработке результатов биохимического эксперимента часто требуется привести данные к единому масштабу. Выполните min-max нормализацию массива по формуле: \[x_{\mathrm{norm}} = \frac{x - \min(a)}{\max(a)-\min(a)}.\] После нормализации все значения лежат в отрезке \([0;\,1]\).

Формат ввода

Первая строка — целое число \(n\) (\(2\le n\le 10^5\)). Вторая строка — \(n\) вещественных чисел через пробел. Гарантируется, что \(\min(a)\ne\max(a)\).

Формат вывода

Одна строка — \(n\) вещественных чисел, каждое округлено до 4 знаков после запятой, через пробел.

Пример ввода:

5
10.0 20.0 30.0 40.0 50.0

Пример вывода:

0.0000 0.2500 0.5000 0.7500 1.0000

Подсказка. Функции np.min(), np.max() и np.round() позволяют решить задачу в одну-две строки без циклов.

✓ 7✗ 21800средняяВойти и решать

В биохимической лаборатории измерена концентрация глюкозы (ммоль/л) в серии проб крови. Дан массив из \(n\) вещественных чисел. С помощью NumPy вычислите и выведите пять статистических характеристик.

Формат ввода

Первая строка — целое число \(n\) (\(1\le n\le 10^5\)). Вторая строка — \(n\) вещественных чисел через пробел.

Формат вывода

Пять строк вида метка: значение, значение округлено до 4 знаков после запятой:

  • min — минимальное значение;

  • max — максимальное значение;

  • mean — среднее арифметическое: \(\bar{a}=\dfrac{1}{n}\displaystyle\sum_{i=1}^{n}a_i\);

  • median — медиана;

  • std — стандартное отклонение: \(\sigma=\sqrt{\dfrac{1}{n}\displaystyle\sum_{i=1}^{n}(a_i-\bar{a})^2}\).

Пример ввода:

6
4.2 5.1 3.8 6.0 5.5 4.9

Пример вывода:

min: 3.8000
max: 6.0000
mean: 4.9167
median: 5.0000
std: 0.7426
✓ 13✗ 30600лёгкаяВойти и решать

Дана строка ДНК, состоящая из символов A, T, G, C. Длина строки кратна 3. Выполните следующие вычисления:

  1. Длина последовательности.

  2. GC-состав — процентная доля нуклеотидов \(G\) и \(C\): \[\mathrm{GC\%} = \frac{|G| + |C|}{n} \times 100,\] где \(|X|\) — количество символов \(X\), \(n\) — длина строки. Округлить до 2 знаков после запятой.

  3. Обратная комплементарная цепь (reverse complement). Комплементарность: \(A \leftrightarrow T\), \(G \leftrightarrow C\); затем цепь разворачивается.

  4. GC-богатые кодоны — количество кодонов (трёхбуквенных блоков), в которых два или три нуклеотида являются \(G\) или \(C\).

  5. Наиболее частый нуклеотид. При ничьей вывести тот, который идёт первым в алфавитном порядке (A < C < G < T).

Формат ввода. Одна строка — последовательность ДНК (только заглавные A, T, G, C; \(6 \le n \le 300\); \(n\) кратно 3).

Формат вывода. Ровно 5 строк в следующем порядке:

length: <целое>
gc: <вещественное, 2 знака>
rc: <строка>
gc_rich_codons: <целое>
most_frequent: <символ>

Пример ввода:

ATGGGCCCTATGAAA

Пример вывода:

length: 15
gc: 46.67
rc: TTTCATAGGGCCCAT
gc_rich_codons: 2
most_frequent: A

Разбор примера. Последовательность: ATG GGC CCT ATG AAA.

 

GC-состав: \((3+3+2+1)/15 = 9/15 \approx 46.67\%\). Кодоны GGC (\(3\,G/C\)) и CCT (\(2\,G/C\)) — итого 2 GC-богатых кодона. Наиболее частый нуклеотид: \(A=5, G=4, C=3, T=3\) — лидирует \(A\).

 

Условие. Дана таблица результатов тестирования. Найдите студентов, у которых средний балл по всем предметам строго выше общего среднего по всей таблице. Выведите имена в алфавитном порядке.

Формат ввода (CSV, stdin). Первая строка — заголовок: name,math,physics,informatics,english Далее строки с данными (\(2 \le n \le 1000\)).

Формат вывода. По одному имени на строке (лексикографический порядок).

Пример ввода:

name,math,physics,informatics,english
Alice,90,85,95,80
Bob,60,55,65,50
Charlie,75,80,70,85
Diana,40,45,35,50

Пример вывода:

Alice
Charlie

Общее среднее \(\approx 66.25\).

✓ 13✗ 45700средняяВойти и решать

Условие. Дана матрица \(A\) размера \(n \times m\). Вычислите суммы по строкам \(r_i = \sum_{j} a_{ij}\) и суммы по столбцам \(c_j = \sum_{i} a_{ij}\).

Формат ввода. Первая строка: \(n\) и \(m\) (\(1 \le n, m \le 500\)). Следующие \(n\) строк по \(m\) целых чисел.

Формат вывода. Строка 1: \(n\) чисел — суммы по строкам. Строка 2: \(m\) чисел — суммы по столбцам.

Пример ввода:

3 3
1 2 3
4 5 6
7 8 9

Пример вывода:

6 15 24
12 15 18
✓ 19✗ 12600лёгкаяВойти и решать

Условие. Дан массив из \(n\) чисел и размер окна \(k\). Вычислите скользящий максимум: \(M_i = \max(a_i, a_{i+1}, \ldots, a_{i+k-1}), \quad i = 0, 1, \ldots, n-k.\) 

Формат ввода. Первая строка: два целых числа \(n\) и \(k\) (\(1 \le k \le n \le 10^5\)). Вторая строка: \(n\) целых чисел (\(-10^9 \le a_i \le 10^9\)).

Формат вывода. Одна строка: \(n - k + 1\) целых чисел, разделённых пробелами.

Пример ввода:

7 3
2 1 5 3 6 4 8

Пример вывода:

5 5 6 6 8
✓ 17✗ 14700средняяВойти и решать

Условие. Дан массив из \(n\) вещественных чисел. Вычислите и выведите пять статистических характеристик.

Формат ввода. Первая строка содержит целое число \(n\) (\(1 \le n \le 10^5\)). Вторая строка содержит \(n\) вещественных чисел, разделённых пробелами.

Формат вывода. Пять строк, каждая в виде <метка>: <значение>, значение округлено до 4 знаков после запятой:\(\bar{a} = \frac{1}{n}\sum_{i=1}^{n} a_i, \qquad \sigma(a) = \sqrt{\frac{1}{n}\sum_{i=1}^{n}(a_i - \bar{a})^2}\)  

Пример ввода:

5
3.0 1.0 4.0 1.0 5.0

Пример вывода:

min: 1.0000
max: 5.0000
mean: 2.8000
median: 3.0000
std: 1.6000
✓ 19✗ 18600лёгкаяВойти и решать

АЛГОРИТМ РАСЧЕТА R²

Шаг 1: Вычисляем среднее значение Y

y_mean = (y₁ + y₂ + ... + yₙ) / n

Шаг 2: Считаем общую сумму квадратов (TSS) Total Sum of Squares — насколько данные разбросаны вокруг среднего

TSS = Σ(y_i - y_mean)²

Шаг 3: Считаем сумму квадратов ошибок (RSS) Residual Sum of Squares — насколько наши предсказания ошибаются

RSS = Σ(y_i - y_pred_i)²

Шаг 4: Вычисляем R²

R² = 1 - (RSS / TSS)
 


Задача

Напишите программу, которая оценивает качество модели предсказания оценок студентов.

Формат входных данных
Программа получает на вход две строки: в первой строке через пробел записаны целые числа - реальные оценки студентов, во второй строке записаны вещественные числа - оценки, полученные в результате предсказания с использованием модели. Количество чисел в первой и второй строке равно 10.

Формат выходных данных
Выведите одно число - коэффициент R2 с точностью до 2-х знаков после запятой
 
Поделиться
Класснуть