NumPy

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

На испытательном стенде расположена сетка из \(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 — по столбцам.

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

При обработке данных физического эксперимента часто требуется привести показания датчика к единому масштабу. Выполните 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() позволяют решить задачу в одну-две строки без циклов.

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

В физической лаборатории проведена серия измерений периода колебаний маятника (в секундах). Дан массив из \(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
✓ 11✗ 20600лёгкаяВойти и решать

Биолог провёл эксперимент: на \(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средняяВойти и решать

В биохимической лаборатории измерена концентрация глюкозы (ммоль/л) в серии проб крови. Дан массив из \(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лёгкаяВойти и решать

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

Формат ввода (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
✓ 18✗ 8600лёгкаяВойти и решать

Условие. Дан массив из \(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-х знаков после запятой
 

Промахом считается выстрел с расстоянием больше 10.0. Определите, у какого игрока был самый худший одиночный выстрел (максимальное значение в массиве)? А сколько всего фатальных промахов совершила вся команда?

Тренеры заметили, что некоторые игроки сильно «разогреваются» к концу сессии. Проверьте гипотезу: сравните среднюю точность каждого игрока по первым пяти выстрелам и по последним пяти. У кого разница в пользу последних выстрелов наибольшая? (Значит, он "разыгрывается").
Точность — это хорошо, но стабильность — лучше! Найдите игрока с самой маленькой дисперсией или стандартным отклонением результатов. Это значит, что он стабильно стреляет примерно с одинаковой точностью.

Напишите программу на Python, которая:

  1. Считывает математическое выражение из строки.

  2. Преобразует строку в символьное выражение с помощью SymPy.

  3. Вычисляет численное значение выражения для заданных значений переменных.

  4. Выводит результат.

Напишите программу, которая запрашивает математическое выражение в виде строки и два параметра целого типа, использует библиотеку SymPy для его парсинга и вычисления, а затем выводит результат.
Программа должна обрабатывать простые арифметические операции, такие как сложение, вычитание, умножение и деление, а также возведение в степень.
✓ 18✗ 62600лёгкаяВойти и решать
Напишите программу, которая анализирует последовательность ДНК.
Формат входных данных
Единственная строка содержит последовательность ДНК.

Формат выходных данных
Запишите четыре строки, являющиеся ответами на задания задачи:
1) Длина последовательности.
2) Комплементарную цепь.
3) Обратная комплементарная цепь
4) Транскрипцию последовательности (преобразование ДНК в РНК).
✓ 34✗ 52400лёгкаяВойти и решать
Что представляет собой атрибут shape в DataFrame?
  1. Количество строк и столбцов
  2. Только количество строк
  3. Только количество столбцов
  4. Типы данных столбцов
Pandas#50304
Что такое Pandas?
  1. Библиотека визуализации данных
  2. Библиотека машинного обучения
  3. Библиотека для манипулирования и анализа данных
  4. Фреймворк для веб-разработки
Поделиться
Класснуть