Массивы

467 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Программа получает на вход размеры матрицы n и m (количество строк и столбцов), затем элементы матрицы (n строк по m чисел в каждой). Все числа целые, не превышают по модулю 1000. Программа должна вывести сумму элементов первой строки, последней строки, первого столбца и последнего столбца. Угловые элементы учитываются один раз.
Программа получает на вход размеры матрицы n и m (количество строк и столбцов), затем элементы матрицы (n строк по m чисел в каждой). Все числа целые, не превышают по модулю 1000. Программа должна вывести количество элементов матрицы, которые больше среднего арифметического всех элементов.
Программа получает на вход размеры матрицы n и m (количество строк и столбцов), затем элементы матрицы (n строк по m чисел в каждой). Все числа целые, не превышают по модулю 1000. Программа должна вывести номер столбца (нумерация с 1) с минимальной суммой элементов. Если таких столбцов несколько, вывести номер первого из них.
Программа получает на вход размеры матрицы n и m (количество строк и столбцов), затем элементы матрицы (n строк по m чисел в каждой). Все числа целые, не превышают по модулю 1000. Программа должна вывести n чисел: количество положительных элементов в каждой строке (каждое число на отдельной строке).
Программа получает на вход размеры матрицы n и m (количество строк и столбцов), затем элементы матрицы (n строк по m чисел в каждой). Все числа целые, не превышают по модулю 1000. Программа должна вывести номер строки (нумерация с 1) с максимальной суммой элементов. Если таких строк несколько, вывести номер первой из них.
Программа получает на вход размеры матрицы n и m (количество строк и столбцов), затем элементы матрицы (n строк по m чисел в каждой). Все числа целые, не превышают по модулю 1000. Программа должна вывести количество элементов, равных нулю.
Программа получает на вход размеры матрицы n и m (количество строк и столбцов), затем элементы матрицы (n строк по m чисел в каждой). Все числа целые, не превышают по модулю 1000. Программа должна вывести m чисел через пробел: максимальный элемент в каждом столбце.
Программа получает на вход размеры матрицы n и m (количество строк и столбцов), затем элементы матрицы (n строк по m чисел в каждой), затем номер строки k (нумерация с 1). Все числа целые, не превышают по модулю 1000. Программа должна вывести произведение элементов k-й строки матрицы.
Программа получает на вход размеры матрицы n и m (количество строк и столбцов), затем элементы матрицы (n строк по m чисел в каждой). Все числа целые, не превышают по модулю 1000. Программа должна вывести количество чётных элементов в матрице.
Программа получает на вход размеры матрицы n и m (количество строк и столбцов), затем элементы матрицы (n строк по m чисел в каждой), затем номер столбца k (нумерация с 1). Все числа целые, не превышают по модулю 1000. Программа должна вывести сумму элементов k-го столбца матрицы.
Программа получает на вход размеры матрицы n и m (количество строк и столбцов), затем элементы матрицы (n строк по m чисел в каждой), затем номер строки k (нумерация с 1). Все числа целые, не превышают по модулю 1000. Программа должна вывести сумму элементов k-й строки матрицы.
Программа получает на вход размеры матрицы n и m (количество строк и столбцов), затем элементы матрицы (n строк по m чисел в каждой). Все числа целые, не превышают по модулю 1000. Программа должна вывести количество положительных элементов в матрице.
Вы сделали классное фото, но оно получилось вертикальным, а нужно горизонтальное! Нужно транспонировать изображение - поменять строки и столбцы местами. Программа получает на вход размеры фотографии n и m (высота и ширина в пикселях), затем n строк по m чисел - яркость каждого пикселя (от 0 до 255). Программа должна вывести транспонированную матрицу: сначала новые размеры m и n, затем m строк по n чисел. При транспонировании элемент из позиции [i][j] переходит в позицию [j][i].

Утром Дядя Фёдор вышел на улицу и увидел цепочку следов на снегу. Он записал глубину каждого следа в сантиметрах. Дядя Фёдор хочет найти самый глубокий след, чтобы понять, кто из жителей деревни проходил мимо (чем тяжелее, тем глубже след).

Входные данные: В первой строке число N (1 ≤ N ≤ 1000) — количество следов. Во второй строке N целых чисел от 1 до 100 — глубина каждого следа.

Выходные данные: Два числа через пробел: максимальная глубина и номер следа с такой глубиной (если таких несколько, выведите номер первого). Следы нумеруются с единицы.

Дана последовательность из N чисел. Найти сумму чисел, у которых значение и позиция имеют одинаковую чётность (оба чётные или оба нечётные).

Входные данные: в первой строке вводится число N, в следующих строках вводятся N чисел (по одному числу в строке).

Выходные данные: выведите сумму чисел, для которых чётность значения совпадает с чётностью позиции (нумерация с 0).

В игре Fortnite игрок выполняет задания и получает V-Bucks. Но премиальные награды (больше 100 V-Bucks) идут в особый фонд для покупки редких скинов.​

Напишите программу, которая подсчитывает общую сумму полученных премиальных наград — те, где награда V-Bucks больше 100.​

Входные данные:
Первая строка: N — количество выполненных заданий (N ≤ 20)

Следующие N строк: количество V-Bucks за каждое задание (число от 0 до 500)

Выходные данные:
Сумма премиальных наград (сумма только тех чисел, которые строго больше 100)

Макс покупает скины в Roblox и записывает цену каждой покупки в робуксах. Ему нужно узнать, сколько раз он потратил больше 100 робуксов за одну покупку (дорогие покупки).​
Напишите программу, которая запрашивает у пользователя информацию (см. входные данные) и выводит ответ

Входные данные:

  • Первая строка: N — количество покупок (N <= 20)

  • Следующие N строк: по одному числу от 10 до 500 — цена покупки в робуксах

Выходные данные: количество покупок дороже 100 робуксов

В Discord-канале провели голосование за любимого персонажа из игры Brawl Stars. Участники голосовали числами от 1 до 5, где каждое число — это конкретный персонаж:

  • 1 — Шелли

  • 2 — Кольт

  • 3 — Спайк

  • 4 — Леон

  • 5 — Crow

Напишите программу, которая запрашивает у пользователя информацию (см входные данные) и подсчитывает, сколько человек проголосовало за Леона
 

Входные данные:

  • Первая строка: N — количество голосов (N <= 20)

  • Следующие N строк: по одному числу от 1 до 5 — голос участника

Выходные данные: количество голосов за Леона 

Артём играет в Standoff 2 и записывает результаты матчей: 1 — победа, 0 — поражение.

Напишите программу, которая запрашивает у пользователя необходимые данные (см входные данные) и подсчитывает количество побед.​

Входные данные:

  • Первая строка: N — количество матчей (N <= 20)

  • Следующие N строк: по одному числу (0 или 1) — результат каждого матча

Выходные данные: количество побед

Дубликаты - одинаковые строки в данных, которые могут исказить анализ.

Основные методы

df.duplicated() - находит дубликаты (возвращает True/False)
df.drop_duplicates() - удаляет дубликаты
df.nunique() - количество уникальных значений
Параметры drop_duplicates()
subset - столбцы для проверки дубликатов
keep - какую копию оставить ('first', 'last', False)
ignore_index -  пересоздает аккуратный последовательный индекс (0, 1, 2, 3, 4...).
Пример
df_clean = df.drop_duplicates()  # Удалить полные дубликаты
df_partial = df.drop_duplicates(subset=['name'])  # По имени
df_last = df.drop_duplicates(keep='last')  # Оставить последний

Задание

1) Посчитайте количество полных дубликатов в прикрепленном датасете (программа должна вывести целое число)
2) Удалите все полные дубликаты и выведите размер получившегося датасета.
Поделиться
Класснуть