Машинное обучение. NaN в Python
В мире науки о данных и аналитики встреча с отсутствующими данными — скорее правило, чем исключение. Отсутствующие значения могут исказить анализ, привести к неверным выводам и в целом нарушить ход обработки данных. Устранение таких пробелов имеет решающее значение для сохранения целостности вашего анализа. Цель этой статьи — познакомить вас с различными способами определения значений NaN (Not a Number) в Python.
Книги по ML - @maschinelearning
#ml
В мире науки о данных и аналитики встреча с отсутствующими данными — скорее правило, чем исключение. Отсутствующие значения могут исказить анализ, привести к неверным выводам и в целом нарушить ход обработки данных. Устранение таких пробелов имеет решающее значение для сохранения целостности вашего анализа. Цель этой статьи — познакомить вас с различными способами определения значений NaN (Not a Number) в Python.
Книги по ML - @maschinelearning
#ml
Задача для новичков
Напишите функцию
Напишите также тесты с использованием
Свои варианты пишите в комментариях! Решение - сегодня вечером.
#задача #coding
Напишите функцию
is_palindrome()
, которая принимает на вход число и проверяет, является ли оно палиндромом. Палиндромом называется число, которое одинаково читается слева направо и справа налево.Напишите также тесты с использованием
pytest
, чтобы проверить правильность работы функции на разных входных данных.Свои варианты пишите в комментариях! Решение - сегодня вечером.
#задача #coding
Ответ к предыдущей задаче для новичков
# is_palindrome.py
#задача #coding
# is_palindrome.py
def is_palindrome(number):# test_is_palindrome.py
number_str = str(number)
return number_str == number_str[::-1]
import pytest
from palindrome import is_palindrome
def test_positive_palindrome():
assert is_palindrome(121) == True
assert is_palindrome(1221) == True
def test_negative_palindrome():
assert is_palindrome(123) == False
assert is_palindrome(12321) == False
def test_single_digit():
assert is_palindrome(9) == True
def test_negative_number():
assert is_palindrome(-121) == False
def test_large_palindrome():
assert is_palindrome(12345678987654321) == True
def test_empty_input():
with pytest.raises(ValueError):
is_palindrome('')
def test_string_input():
with pytest.raises(ValueError):
is_palindrome('hello')
def test_float_input():
with pytest.raises(ValueError):
is_palindrome(12.21)
В этом примере функция is_palindrom()
принимает число, преобразует его в строку и далее сравнивает эту строку с этой же строкой, но записанной в обратном порядке. Если они равны, возвращается True
, в противном случае False
. Тесты проверяют правильность работы функции для различных входных данных.#задача #coding
Задача с кодом. ABACABADABACABA
Напишите функцию, которая будет принимать буквы английского алфавита и возвращать строки, придерживаясь шаблона «ABACABADABACABA».
Суть шаблона в следующем. Все начинается с первой буквы (А). Каждая следующая буква добавляется в центр, а предыдущий паттерн располагается по бокам от нее. Например:
#задача #coding
Напишите функцию, которая будет принимать буквы английского алфавита и возвращать строки, придерживаясь шаблона «ABACABADABACABA».
Суть шаблона в следующем. Все начинается с первой буквы (А). Каждая следующая буква добавляется в центр, а предыдущий паттерн располагается по бокам от нее. Например:
A ➞ **A**Примеры
B ➞ A**B**A
C ➞ ABA**C**ABA
D ➞ ABACABA**D**ABACABA
E ➞ ABACABADABACABA**E**ABACABADABACABA
F ➞ ABACABADABACABAEABACABADABACABA**F**ABACABADABACABAEABACABADABACABA
И так далее
ABA("A") ➞ "A"Решение на нашем сайте.
ABA("B") ➞ "ABA"
ABA("E") ➞ "ABACABADABACABAEABACABADABACABA"
#задача #coding
Tips & Tricks. Как перевернуть строку в Python
Разбираем три способа перевернуть строку: с помощью рекурсии, с помощью среза и с помощью встроенных методов Python.
#tipsandtricks #строки
Разбираем три способа перевернуть строку: с помощью рекурсии, с помощью среза и с помощью встроенных методов Python.
#tipsandtricks #строки
Задача на логику. С кем поехать?
Каспер, Стефан и Януш предложили подвезти вас до дома. Двое из них хотят вас убить. Один — нет. Вам нужно выбрать, с кем поехать (естественно, вы хотите добраться домой живым).
Все трое сделали следующие заявления:
Каспер: Стефан и Януш говорят правду.
Стефан: Если хочешь жить, выбери Каспера или Януша.
Януш: Если хочешь жить, не выбирай Стефана.
Вам известно, что как минимум один из этой троицы всегда врет (и это никак не связано с тем, хочет ли этот человек вас убить).
Кого из троих нужно выбрать?
Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.
#логическаязадача
Каспер, Стефан и Януш предложили подвезти вас до дома. Двое из них хотят вас убить. Один — нет. Вам нужно выбрать, с кем поехать (естественно, вы хотите добраться домой живым).
Все трое сделали следующие заявления:
Каспер: Стефан и Януш говорят правду.
Стефан: Если хочешь жить, выбери Каспера или Януша.
Януш: Если хочешь жить, не выбирай Стефана.
Вам известно, что как минимум один из этой троицы всегда врет (и это никак не связано с тем, хочет ли этот человек вас убить).
Кого из троих нужно выбрать?
Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.
#логическаязадача
Тест. Условия Python
Условия — очень частые конструкции в Python. Практически любая программа представляет собой разные наборы действий, которые нужно выполнить при соблюдении тех или иных условий.
Проверьте, насколько хорошо вам удается работа с условиями: пройдите тест из 10 вопросов!
#тест
Условия — очень частые конструкции в Python. Практически любая программа представляет собой разные наборы действий, которые нужно выполнить при соблюдении тех или иных условий.
Проверьте, насколько хорошо вам удается работа с условиями: пройдите тест из 10 вопросов!
#тест
Задача с кодом. Цифровое расстояние
Напишите функцию, которая будет принимать два целых числа, вычислять модуль их разности и выводить сумму цифр полученного числа. Пример:
- Оба числа всегда будут одинаковой длины.
- Число на позиции num2 будет больше или равно числу на позиции num1.
Примеры
#задача #coding
Напишите функцию, которая будет принимать два целых числа, вычислять модуль их разности и выводить сумму цифр полученного числа. Пример:
digit_distance(234, 489) ➞ 12Примечания:
# |2 - 4| + |3 - 8| + |4 - 9| = 2 + 5 + 5 = 12
- Оба числа всегда будут одинаковой длины.
- Число на позиции num2 будет больше или равно числу на позиции num1.
Примеры
digit_distance(121, 599) ➞ 19Решение на нашем сайте.
digit_distance(12, 12) ➞ 0
digit_distance(10, 20) ➞ 1
#задача #coding
Задача на логику. Какие числа поставите вместо вопросительных знаков и почему?
Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.
#логическаязадача
Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.
#логическаязадача
🚀 Отправляемся в мир Django: ваш первый проект в веб-разработке
22 июля в 19:00 мск — не пропустите открытый урок
Что ждет вас на вебинаре:
- основы Django: краткий обзор архитектуры, установка и создание нового проекта;
- ваше первое приложение: определение и регистрация простой модели данных, создание представления и маршрута для отображения информации на странице;
- работа с шаблонами: использование шаблонов для отображения данных в браузере.
Спикер — опытный системный инженер, веб-разработчик и преподаватель.
Встречаемся в преддверии старта курса «Специализация Python Developer». Все участники вебинара получат специальную цену на обучение.
🔴 Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://vk.cc/cytNIo
22 июля в 19:00 мск — не пропустите открытый урок
Что ждет вас на вебинаре:
- основы Django: краткий обзор архитектуры, установка и создание нового проекта;
- ваше первое приложение: определение и регистрация простой модели данных, создание представления и маршрута для отображения информации на странице;
- работа с шаблонами: использование шаблонов для отображения данных в браузере.
Спикер — опытный системный инженер, веб-разработчик и преподаватель.
Встречаемся в преддверии старта курса «Специализация Python Developer». Все участники вебинара получат специальную цену на обучение.
🔴 Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://vk.cc/cytNIo
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Основы. Как писать модульные тесты на Python
Юнит-тестирование — это техника тестирования программного обеспечения (ПО), при которой отдельные компоненты или блоки приложения тестируются независимо от остальной части приложения. Python обеспечивает встроенную поддержку юнит-тестирования с помощью фреймворка unittest.
#основы
Юнит-тестирование — это техника тестирования программного обеспечения (ПО), при которой отдельные компоненты или блоки приложения тестируются независимо от остальной части приложения. Python обеспечивает встроенную поддержку юнит-тестирования с помощью фреймворка unittest.
#основы
Задача для новичков
Напишите функцию
Напишите также тесты с использованием
Свои варианты пишите в комментариях! Решение - сегодня вечером.
#задача #coding
Напишите функцию
calculate_even_sum()
, которая принимает на вход список чисел и возвращает сумму всех четных чисел в этом списке.Напишите также тесты с использованием
pytest
, чтобы проверить правильность работы функции на разных входных данных.Свои варианты пишите в комментариях! Решение - сегодня вечером.
#задача #coding
Ответ к предыдущей задаче для новичков
# calculate_even_sum.py
#задача #coding
# calculate_even_sum.py
def calculate_even_sum(numbers):# test_calculate_even_sum.py
return sum(num for num in numbers if num % 2 == 0)
import pytest
from calculate_even_sum import calculate_even_sum
def test_positive_numbers():
assert calculate_even_sum([1, 2, 3, 4, 5]) == 6
assert calculate_even_sum([10, 20, 30, 40, 50]) == 150
def test_negative_numbers():
assert calculate_even_sum([-1, -2, -3, -4, -5]) == -6
assert calculate_even_sum([-10, -20, -30, -40, -50]) == -150
def test_mixed_numbers():
assert calculate_even_sum([-5, 10, -3, 8, 2]) == 20
assert calculate_even_sum([0, 0, 0, 0, 0]) == 0
def test_empty_list():
assert calculate_even_sum([]) == 0
def test_no_even_numbers():
assert calculate_even_sum([1, 3, 5, 7, 9]) == 0
В этом примере функция calculate_even_sum()
принимает список целых чисел и возвращает сумму только четных чисел, проверяя для этого элементы списка на четность.Тесты проверяют правильность работы функции для различных входных данных.#задача #coding
Задача с кодом. Самое длинное слово
Напишите функцию, которая будет находить самое длинное слово в предложении.
Если будет найдено два и больше слов одинаковой длины, нужно вернуть первое из них.
Небуквенные символы (апостроф, точка, запятая и т. п.) считаются частью слова, к которому прилегают.
Примеры
#задача #coding
Напишите функцию, которая будет находить самое длинное слово в предложении.
Если будет найдено два и больше слов одинаковой длины, нужно вернуть первое из них.
Небуквенные символы (апостроф, точка, запятая и т. п.) считаются частью слова, к которому прилегают.
Примеры
longest_word("Margaret's toy is a pretty doll.")Решение на нашем сайте.
➞ "Margaret's"
longest_word("A thing of beauty is a joy forever.")
➞ "forever."
longest_word("Forgetfulness is by all means powerless!")
➞ "Forgetfulness"
#задача #coding
Задача на логику. Пилюли
У вас есть две баночки с пилюлями, маркированные "А" и "В". В день вам нужно съесть по одной пилюле из каждой баночки, если же вы съедите больше одной пилюли, то умрете.
Однажды вы взяли одну пилюлю из баночки "А", а когда стали вытряхивать пилюлю из банки "В", случайно выпало две штуки. Теперь у вас на ладони лежат три пилюли, совершенно неразличимые по внешнему виду. Как с наименьшими потерями выйти из этой ситуации?
Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.
#логическаязадача
У вас есть две баночки с пилюлями, маркированные "А" и "В". В день вам нужно съесть по одной пилюле из каждой баночки, если же вы съедите больше одной пилюли, то умрете.
Однажды вы взяли одну пилюлю из баночки "А", а когда стали вытряхивать пилюлю из банки "В", случайно выпало две штуки. Теперь у вас на ладони лежат три пилюли, совершенно неразличимые по внешнему виду. Как с наименьшими потерями выйти из этой ситуации?
Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.
#логическаязадача
Задача с кодом. Сложное упорядочивание
Упорядочивание слов в ступенчатом лексикографическом порядке происходит так:
1. Сперва слова упорядочиваются по длине
2. Затем слова одного размера упорядочиваются в словарном порядке (по алфавиту).
Например:
- «tray» < «trapped», потому что «tray» имеет длину 4, а «trapped» - 7
- «trap» < «tray», потому что у обоих слов длина 4, но «trap» идет перед «tray» в словаре.
Задание:
Напишите функцию, которая будет принимать список слов и возвращать список, где они будут упорядочены в ступенчатом лексикографическом порядке.
Примеры:
#задача #coding
Упорядочивание слов в ступенчатом лексикографическом порядке происходит так:
1. Сперва слова упорядочиваются по длине
2. Затем слова одного размера упорядочиваются в словарном порядке (по алфавиту).
Например:
- «tray» < «trapped», потому что «tray» имеет длину 4, а «trapped» - 7
- «trap» < «tray», потому что у обоих слов длина 4, но «trap» идет перед «tray» в словаре.
Задание:
Напишите функцию, которая будет принимать список слов и возвращать список, где они будут упорядочены в ступенчатом лексикографическом порядке.
Примеры:
make_grlex(["small", "big"])Решение на нашем сайте.
➞ ["big", "small"]
make_grlex(["cat", "ran", "for", "the", "rat"])
➞ ["cat", "for", "ran", "rat", "the"]
make_grlex(["this", "is", "a", "small", "test"])
➞ ["a", "is", "test", "this", "small"]
#задача #coding
Tips & Tricks. Как удалить None из списка в Python
Исключение значений None из списка может понадобиться, например, в предварительной обработке данных для машинного обучения. Давайте посмотрим, как это делается.
#tipsandtricks #списки
Исключение значений None из списка может понадобиться, например, в предварительной обработке данных для машинного обучения. Давайте посмотрим, как это делается.
#tipsandtricks #списки
Задача на логику. Разработчицы из компании «ThreeWayLand»
Вы — в IT-компании «ThreeWayLand». Здесь, как вам известно, фронтендеры всегда говорят правду, бэкендеры всегда лгут, а менеджеры — по настроению.
Возле кофемашины вы встречаете трех девушек. Среди них точно есть фронтендер, бэкендер и менеджер, но кто есть кто вы не знаете, а узнать бы хотелось.
Пока пьете кофе, можно успеть задать два вопроса, на которые девушки смогут ответить «да» или «нет». (Вопросы можно задавать как любой из девушек, так и всем трем одновременно, отвечать они тогда будут по очереди. Но вопросов у вас только два).
Что можно спросить, чтобы точно определить специализацию всех трех?
Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.
#логическаязадача
Вы — в IT-компании «ThreeWayLand». Здесь, как вам известно, фронтендеры всегда говорят правду, бэкендеры всегда лгут, а менеджеры — по настроению.
Возле кофемашины вы встречаете трех девушек. Среди них точно есть фронтендер, бэкендер и менеджер, но кто есть кто вы не знаете, а узнать бы хотелось.
Пока пьете кофе, можно успеть задать два вопроса, на которые девушки смогут ответить «да» или «нет». (Вопросы можно задавать как любой из девушек, так и всем трем одновременно, отвечать они тогда будут по очереди. Но вопросов у вас только два).
Что можно спросить, чтобы точно определить специализацию всех трех?
Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.
#логическаязадача