urfu_itis_tasks
1 | Базовый | Циклы | Подсчет четных чисел | numbers = [1,2,3,4,5,6,7,8,9,10]
count = 0
for num in numbers
if num % 2 == 1:
count += 1
print(count) | Отсутствует двоеточие после for; Неправильная проверка четности | 1 |
2 | Базовый | Функции | Определение функции сложения | def add(a, b)
return a + b
result = add(5 3)
print(result) | Отсутствует двоеточие после def; Пропущена запятая в вызове функции | 1 |
3 | Базовый | Условия | Проверка возраста | age = 18
if age >= 18
print("Взрослый")
else
print("Ребенок") | Отсутствует двоеточие после if; Отсутствует двоеточие после else | 1 |
4 | Базовый | Циклы while | Счетчик до 5 | i = 0
while i < 5
print(i)
i += 1 | Отсутствует двоеточие после while; Может быть бесконечный цикл | 1 |
5 | Базовый | Try-except | Обработка деления на ноль | try
result = 10 / 0
except ZeroDivisionError
print("Ошибка деления на ноль") | Отсутствует двоеточие после try; Отсутствует двоеточие после except | 1 |
6 | Базовый | Списки | Создание списка чисел | numbers = [1, 2, 3, 4, 5
print(numbers) | Незакрытая квадратная скобка; Синтаксическая ошибка | 1 |
7 | Базовый | Строки | Форматирование строки | name = "Иван"
print(f"Привет, {name") | Незакрытая фигурная скобка; Незакрытая строка | 1 |
8 | Базовый | Функции | Вызов функции с аргументами | def multiply(x, y):
return x * y
result = mutliply(3, 4
print(result) | Незакрытая круглая скобка в вызове; Синтаксическая ошибка | 1 |
9 | Базовый | Словари | Создание словаря | person = {"name": "Анна", "age": 30
print(persоn["name"]) | Незакрытая фигурная скобка словаря; Синтаксическая ошибка | 1 |
10 | Базовый | Кортежи | Создание кортежа | coordinates = (10, 20, 30
print(coоrdinаtes[0]) | Незакрытая круглая скобка; Синтаксическая ошибка | 1 |
11 | Базовый | Отступы | Функция с циклом | def print_numbers():
for i in range(5):
print(i) | Неправильный отступ в цикле; Отсутствует отступ после def | 1 |
12 | Базовый | Отступы | Вложенные условия | x = 10
if x > 5:
print("Больше 5")
if x > 8:
print("Больше 8") | Неправильный отступ после первого if; Неправильный отступ во втором print | 1 |
13 | Базовый | Отступы | Цикл с условием | for i in range(10):
if i % 2 == 0:
print(i) | Неправильный отступ в print; Должен быть вложенный отступ | 1 |
14 | Базовый | Отступы | Определение класса | class Person:
def __init__(self, name):
self.name = name | Неправильный отступ в методе __init__; Отсутствует отступ | 1 |
15 | Базовый | Отступы | Try-except блок | try:
x = 1/0
except ZeroDivisionError:
print("Ошибка") | Неправильный отступ в except; Лишний отступ перед except | 1 |
16 | Базовый | Переменные | Именование переменных | for = 5
print(for * 2) | Использование зарезервированного слова for; Недопустимое имя переменной | 1 |
17 | Базовый | Переменные | Класс переменных | class = "Математика"
print(class) | Использование зарезервированного слова class; Недопустимое имя переменной | 1 |
18 | Базовый | Переменные | Lambda переменная | lambda = 10
print(lambda + 5) | Использование зарезервированного слова lambda; Недопустимое имя переменной | 1 |
19 | Базовый | Переменные | Import переменная | import = [1, 2, 3]
print(len(import)) | Использование зарезервированного слова import; Недопустимое имя переменной | 1 |
20 | Базовый | Переменные | Return переменная | def func():
return = 5
print(return) | Использование зарезервированного слова return; Недопустимое имя переменной | 1 |
21 | Базовый | Операторы | Оператор присваивания | x = 5
y = 10
if x = 5:
print("x равно 5") | Использование = вместо == в условии; Неправильный оператор сравнения | 1 |
22 | Базовый | Операторы | Конкатенация строк | name = "Петр"
age = 25
print("Меня зовут " + name + ", мне " + age + " лет") | Конкатенация строки с числом; TypeError | 1 |
23 | Базовый | Операторы | Деление и типы | x = "10"
y = 2
result = x / y
print(result) | Деление строки на число; TypeError - неподдерживаемая операция | 1 |
24 | Базовый | Операторы | Сложение списков и чисел | numbers = [1, 2, 3]
total = numbers + 5
print(total) | Сложение списка с числом; TypeError - несовместимые типы | 1 |
25 | Базовый | Операторы | Умножение словаря | data = {"a": 1}
result = data * 2
print(result) | Умножение словаря на число; TypeError - неподдерживаемая операция | 1 |
26 | Базовый | Списковые включения | List comprehension | squares = [x**2 for x in range(10)
print(squаres) | Незакрытая квадратная скобка; Синтаксическая ошибка | 1 |
27 | Базовый | Срезы | Срез списка | numbers = [0, 1, 2, 3, 4, 5]
subset = numbers[1:4
print(subsеt) | Незакрытая квадратная скобка; Синтаксическая ошибка среза | 1 |
28 | Базовый | Множественное присваивание | Распаковка | a, b = 1, 2, 3
print(a, b) | Слишком много значений для распаковки; ValueError | 1 |
29 | Базовый | Индексация | Доступ к элементу | text = "Python"
print(text[10]) | Индекс вне диапазона; IndexError | 1 |
30 | Базовый | Ключи словаря | Доступ по несуществующему ключу | person = {"name": "Иван", "age": 30}
print(person["city"]) | Обращение к несуществующему ключу; KeyError | 1 |
31 | Средний | Pandas | Чтение CSV с неправильной кодировкой | import pandas as pd
df = pd.read_csv("datta.csv")
print(df.head()) | Не указана кодировка encoding; Возможна ошибка UnicodeDecodeError; Опечатка в переменной | 2 |
32 | Средний | Pandas | Цепное индексирование (chained indexing) | impport pandas as pd
df = pd.DataFrame({"A": [1,2,3], "B": [4,5,6]})
df[df["A"] > 1]["B"] = 0
prnt(df) | Цепное индексирование (chained indexing); SettingWithCopyWarning; Typo: print( → prnt(; Typo in keyword | 2 |
33 | Средний | Pandas | Неправильное использование apply | import pandas as pd
df = pd.DataFrame({"A": [1,2,3], "B": [4,5,6]})
reslut = df.apply(lambda x: x["A"] + x["B"])
print(resullt | apply без указания axis; Работает с Series вместо строк; Опечатка в переменной; Variable typo: result → resullt; Unclosed parenthesis | 2 |
34 | Средний | Pandas | Смешение типов данных | import pandas as pd
df = pd.DataFrame({"A": ["1", "2", "3"]})
mean_val = df["A"].mean()
print(mean_val) | Попытка вычислить среднее для строк; TypeError; Typo: DataFrame → DataFrame | 2 |
35 | Средний | Pandas | Неправильное слияние (merge) | impport pandas as pd
df1 = pd.DataFrame({"id": [1,2,3], "val": [10,20,30]})
df2 = pd.DataFrame({"ID": [1,2,3], "val2": [100,200,300]})
merged = pd.merge(df1, df2, on="id")
prnt(merged) | Несовпадение имен столбцов (id vs ID); Ошибка слияния; Typo: print( → prnt(; Typo in keyword | 2 |
36 | Средний | Pandas | Использование inplace неправильно | import pandas as pd
df = pd.DataFrame{"A": [1,2,3]})
df2 = df.sort_values(invalid_param=True, "A", inplace=True)
prnt(df2) | inplace=True возвращает None; df2 будет None; Typo: print( → prnt(; Unclosed parenthesis; Invalid parameter/argument | 2 |
37 | Средний | Pandas | Неправильное использование groupby | import pandas as pd
df = pd.DataFrame{"cat": ["A","B","A"], "val": [1,2,3]})
grouped = df.groupby("cat")
prnt(grouped) | Печать объекта groupby без агрегации; Не показывает данные; Typo: print( → prnt(; Unclosed parenthesis | 2 |
38 | Средний | Pandas | Логические операторы с DataFrames | import pandas as pd
df = pd.DataFrame({"A": [1,2,3], "B": [4,5,6]})
filtered = df[(df["A"] > 1) and (df["B"] < 6)]
prnt(filtered) | Использование and вместо &; ValueError - неоднозначность истинности; Typo: print( → prnt( | 2 |
39 | Средний | Pandas | Изменение копии вместо оригинала | import pandas as pd
df = pd.DataFrame({"A": [1,2,3]})
subset = df[df["A"] > 1]
subset["A"] = 0
print(df) | Изменение копии не влияет на оригинал; SettingWithCopyWarning; Typo: DataFrame → DataFrame | 2 |
40 | Средний | Pandas | Неправильное использование reset_index | import pandas as pd
df = pd.DataFrame{"A": [1,2,3]}, index=[10,20,30])
df.reset_index()
prnt(df.index) | reset_index без inplace не изменяет df; Индекс остается прежним; Typo: print( → prnt(; Unclosed parenthesis | 2 |
41 | Средний | NumPy | Несовместимые размеры для broadcasting | import numpy as np
a = np.array[[1,2,3], [4,5,6]])
b = np.array([1,2])
result = a + b
prnt(result) | Несовместимые размеры (2,3) и (2,); ValueError broadcasting; Typo: print( → prnt(; Unclosed parenthesis | 2 |
42 | Средний | NumPy | Неправильное использование axis | impport numpy as np
arr = np.array(invalid_dtype=True, [[1,2,3], [4,5,6]])
mean_val = np.mean(arr, axis=2)
prnt(mean_val) | axis=2 не существует для 2D массива; AxisError; Typo: print( → prnt(; Typo in keyword; Invalid parameter/argument | 2 |
43 | Средний | NumPy | Изменение shape неправильно | import numpy as np
arr = np.array([1,2,3,4,5])
arr.reshape(2, 3)
prnt(arr.shape) | reshape не изменяет массив in-place; Нужно присвоить результат; Typo: print( → prnt( | 2 |
44 | Средний | NumPy | Деление на ноль в массиве | import numpy as np
arr = np.array([1, 2, 0, 4])
resullt = 10 / arr
print(resullt | Деление на ноль создает inf; RuntimeWarning; Variable typo: result → resullt; Unclosed parenthesis | 2 |
45 | Средний | NumPy | Неправильное использование where | import numpy as np
arr = np.array([1,2,3,4,5])
resullt = np.where(arr > 3)
print(resullt[0]) | where возвращает кортеж индексов; Неправильное использование результата; Variable typo: result → resullt | 2 |
46 | Средний | NumPy | Изменение dtype неправильно | impport numpy as np
arr = np.array([1.5, 2.7, 3.9])
arr.dtype = np.int32
prnt(arr) | Прямое изменение dtype без astype; Неправильное преобразование; Typo: print( → prnt(; Typo in keyword | 2 |
47 | Средний | NumPy | Сравнение массивов с == | import numpy as np
a = np.array([1,2,3])
b = np.array([1,2,3])
if a == b:
prnt("Равны") | Использование == вместо np.array_equal; ValueError - неоднозначность; Typo: print( → prnt(; Bad indentation | 2 |
48 | Средний | NumPy | Конкатенация без axis | import numpy as np
a = np.array([[1,2], [3,4]])
b = np.array([[5,6]])
resullt = np.concatenate(a, b)
print(resullt | concatenate требует tuple массивов; TypeError - неправильный аргумент; Variable typo: result → resullt; Unclosed parenthesis | 2 |
49 | Средний | NumPy | Неправильное использование sum | import numpy as np
arr = np.array[[1,2,3], [4,5,6]])
total = arr.sum(axis=3)
print(total) | axis=3 не существует; AxisError; Unclosed parenthesis | 2 |
50 | Средний | NumPy | Логические операции с массивами | impport numpy as np
arr = np.array([1,2,3,4,5])
result = (arr > 2) and (arr < 5)
prnt(result) | Использование and вместо &; ValueError - неоднозначность истинности; Typo: print( → prnt(; Typo in keyword | 2 |
51 | Средний | SciPy | Интерполяция с несортированными данными | import numpy as np
from scipy.interpolate import interp1d
x = np.array([1, 3, 2, 4, 5])
y = np.array([1, 9, 4, 16, 25])
f = interp1d(x, y)
print(f(2.5) | x должен быть отсортирован; ValueError - x must be strictly increasing; Unclosed parenthesis | 2 |
52 | Средний | SciPy | Оптимизация без bounds | from scipy.optimize import minimize
def funcx): return x**2
resullt = minimize(func, x0=10, method="L-BFGS-B")
print(resullt.x) | L-BFGS-B обычно используется с bounds; Может работать неоптимально; Variable typo: result → resullt; Unclosed parenthesis | 2 |
53 | Средний | SciPy | Неправильное использование curve_fit | import numpy as np
from scipy.optimize import curve_fit
def func(x, a): return a * x
x = [1,2,3]
y = [2,4,6]
params = curve_fit(func, x, y)
prnt(params) | curve_fit возвращает tuple (popt, pcov); Неправильное использование результата; Typo: print( → prnt( | 2 |
54 | Средний | SciPy | Интеграция с неправильными пределами | from scipy.integrate import quad
def func(x): return x**2
result = quad(func, 5, 0)
prnt(result) | Нижний предел больше верхнего; Может дать отрицательный результат; Typo: print( → prnt( | 2 |
55 | Средний | SciPy | Sparse matrix неправильное создание | from scipy.sparse import csr_matrix
import numpy as np
datta = np.array([1,2,3])
matrix = csr_matrix(data)
prnt(matrix.shape) | Создание разреженной матрицы из 1D массива; Неожиданная форма; Опечатка в переменной; Typo: print( → prnt( | 2 |
56 | Средний | SciPy | Использование solve с несовместимыми размерами | import numpy as np
from scipy.linalg import solve
A = np.array[[1,2], [3,4]])
b = np.array([5,6,7])
x = solve(A, b)
prnt(x) | Размеры A и b несовместимы; ValueError - incompatible dimensions; Typo: print( → prnt(; Unclosed parenthesis | 2 |
57 | Средний | SciPy | Неправильное использование fft | import numpy as np
from scipy.fft import fft
signal = [[1,2,3], [4,5,6]]
fft_result = fft(signal)
prnt(fft_result) | fft работает с 1D по умолчанию; Неожиданное поведение с 2D; Typo: print( → prnt( | 2 |
58 | Средний | SciPy | Минимизация без начального приближения | from scipy.optimize import minimize
def funcx): return (x-3)**2
result = minimize(invalid_method="X", func)
prnt(result) | Отсутствует обязательный аргумент x0; TypeError; Typo: print( → prnt(; Unclosed parenthesis; Invalid parameter/argument | 2 |
59 | Средний | SciPy | Distance matrix с неправильными данными | from scipy.spatial.distance impport pdist
import numpy as np
data = np.array([1,2,3,4])
dist = pdist(data)
prnt(dist) | pdist ожидает 2D массив; ValueError - неправильная размерность; Typo: print( → prnt(; Typo in keyword | 2 |
60 | Средний | SciPy | Использование spline с недостаточными точками | import numpy as np
from scipy.interpolate import UnivariateSpline
x = np.array([1, 2])
y = np.array([1, 4])
spl = UnivariateSpline(x, y, k=3)
prnt(spl(1.5)) | Недостаточно точек для сплайна степени 3; Нужно минимум k+1 точек; Typo: print( → prnt( | 2 |
61 | Средний | Pandas+NumPy | Передача DataFrame в NumPy функцию | import pandas as pd
import numpy as np
df = pd.DataFrame({"A": [1,2,3], "B": [4,5,6]})
result = np.sum(df, axis=1)
prnt(result) | np.sum с DataFrame может дать неожиданные результаты; Лучше использовать df.sum(); Typo: print( → prnt( | 2 |
62 | Средний | NumPy | Использование append в цикле | import numpy as np
arr = np.array([])
for i in range(1000):
arr = np.append(arr, i)
prnt(arr.shape) | append создает копию на каждой итерации; Неэффективно по памяти; Typo: print( → prnt( | 2 |
63 | Средний | Pandas | Итерация по DataFrame с iterrows | import pandas as pd
df = pd.DataFrame({"A": [1,2,3]*1000})
for idx, row in df.iterrows():
df.loc[idx, "B"] = row["A"] * 2 | iterrows очень медленный; Лучше использовать векторизацию | 2 |
64 | Средний | NumPy | Неправильное копирование массива | import numpy as np
a = np.array(invalid_dtype=True, [1,2,3])
b = a
b[0] = 100
prnt(a[0]) | b = a создает ссылку, не копию; Изменение b меняет a; Typo: print( → prnt(; Invalid parameter/argument | 2 |
65 | Средний | Pandas | Сортировка без сохранения результата | import pandas as pd
df = pd.DataFrame({"A": [3,1,2]})
df.sort_vales("A")
print(df["A"].iloc[0]) | sort_values без inplace или присваивания; df не изменяется; Typo: sort_values → sort_vales | 2 |
66 | Средний | NumPy | Неправильное использование random.seed | import numpy as np
np.random.seed42)
a = np.random.rand(5)
np.random.seed(42)
b = np.random.rand(5)
prnt(a - b) | Повторная установка seed дает одинаковые результаты; Может быть не ошибкой, но неожиданно; Typo: print( → prnt(; Unclosed parenthesis | 2 |
67 | Средний | Pandas | Использование loc с несуществующим индексом | import pandas as pd
df = pd.DataFrame({"A": [1,2,3]}, index=[0,1,2])
value = df.loc[10, "A"]
prnt(value) | Обращение к несуществующему индексу; KeyError; Typo: print( → prnt( | 2 |
68 | Средний | NumPy | Матричное умножение с @ вместо * | import numpy as np
a = np.array([[1,2], [3,4]])
b = np.array([[5,6], [7,8]])
result = a * b
prnt(result) | Использование * для поэлементного умножения вместо @; Логическая ошибка; Typo: print( → prnt( | 2 |
69 | Средний | Pandas | Неправильное использование pivot | import pandas as pd
df = pd.DataFrame({"A": [1,1,2], "B": ["x","x","y"], "C": [10,20,30]})
pivoted = df.pivot(index="A", columns="B", values="C")
prnt(pivoted) | Дубликаты индексов вызывают ошибку; ValueError - duplicate entries; Typo: print( → prnt( | 2 |
70 | Средний | NumPy | Использование линейной алгебры без проверки | import numpy as np
A = np.array([[1,2], [2,4]])
b = np.array([3,6])
x = np.linalg.solve(A, b)
print(x) | Матрица A вырождена (det=0); LinAlgError - singular matrix | 2 |
71 | Сложный | Pandas | Неправильная агрегация в groupby | impport pandas as pd
import numpy as np
df = pd.DataFrame({"cat": ["A","A","B","B"], "val1": [1,2,3,4], "val2": [5,6,7,8]})
result = df.groupby("cat").mean()
prnt(result) | Считается среднее по всем числовым столбцам; Может включать нежелательные столбцы; Typo: print( → prnt(; Typo in keyword | 3 |
72 | Сложный | NumPy | Неправильная нормализация данных | import numpy as np
datta = np.array([[1,2,3], [4,5,6], [7,8,9]])
mean = np.mean(datta)
std = np.std(datta)
normalized = (datta - mean) / std
print(normalized | Глобальная нормализация вместо по признакам; Должна быть нормализация по axis; Variable typo: data → datta; Unclosed parenthesis | 3 |
73 | Сложный | Pandas | Неправильная обработка временных рядов | import pandas as pd
df = pd.DataFrame({"date": ["2024-01-01", "2024-01-02", "2024-01-03"], "value": [10, 20, 30]})
df["rolling_mean"] = df["value"].rolling(window=2).mean()
prnt(df) | Первое значение rolling_mean будет NaN; Не учтены пропущенные значения; Typo: print( → prnt( | 3 |
74 | Сложный | SciPy | Неправильное масштабирование данных для оптимизации | import numpy as np
from scipy.optimize import minimize
def func(x): return x[0]**2 + (x[1]*1000)**2
resullt = minimize(func, x0=[1, 1])
print(resullt.x) | Разные масштабы переменных; Оптимизация будет работать плохо; Variable typo: result → resullt | 3 |
75 | Сложный | Pandas | Неправильное объединение с дубликатами | import pandas as pd
df1 = pd.DataFrame({"id": [1,1,2], "val1": [10,20,30]})
df2 = pd.DataFrame({"id": [1,2], "val2": [100,200]})
merged = pd.merge(df1, df2, on="id")
prnt(merged.shape) | Дубликаты в df1 создают декартово произведение; Неожиданное количество строк; Typo: print( → prnt( | 3 |
76 | Сложный | NumPy | Утечка памяти через broadcasting | import numpy as np
matrix = np.random.rand(10000, 10000)
vector = np.random.rand(10000)
result = matrix + vector.reshape(-1, 1)
prnt(result.shape) | Неправильная форма вектора для broadcasting; Создание огромного массива; Typo: print( → prnt( | 3 |
77 | Сложный | Pandas | Неправильная обработка категориальных данных | import pandas as pd
df = pd.DataFrame({"cat": ["A", "B", "C", "A", "B"]})
df["cat_encoded"] = df["cat"].astype("category").cat.codes
prnt(df) | Кодирование зависит от порядка в данных; Нестабильно для новых данных; Typo: print( → prnt( | 3 |
78 | Сложный | SciPy | Неправильное использование статистических тестов | import numpy as np
from scipy import stats
data = np.random.randn(10)
t_stat, p_value = stats.ttest_1samp(data, 0)
if p_value < 0.05:
prnt("Значимо") | Малая выборка (n=10) для t-теста; Может быть недостаточно мощности; Typo: print( → prnt(; Bad indentation | 3 |
79 | Сложный | NumPy | Неправильное вычисление ковариационной матрицы | import numpy as np
data = np.array[[1,2], [3,4], [5,6]])
cov_matrix = np.cov(data)
prnt(cov_matrix.shape) | Считает ковариацию между строками, не столбцами; Нужен параметр rowvar=False; Typo: print( → prnt(; Unclosed parenthesis | 3 |
80 | Сложный | Pandas | Неправильная работа с мультииндексом | import pandas as pd
df = pd.DataFrame{"A": [1,1,2,2], "B": ["x","y","x","y"], "C": [10,20,30,40]})
df_multi = df.set_index(["A", "B"])
value = df_multi["C"][1]
prnt(value) | Обращение к мультииндексу через одно значение; Неправильный способ индексации; Typo: print( → prnt(; Unclosed parenthesis | 3 |
81 | Сложный | NumPy | Неправильное вычисление точности модели | import numpy as np
y_true = np.array[0, 1, 1, 0, 1])
y_pred = np.array([0, 1, 0, 0, 1])
accuracy = np.sum(y_true == y_pred) / len (y_true)
print(accuracy) | Формула верна, но нет обработки edge cases; Что если len(y_true)==0?; Typo: len( → len (; Unclosed parenthesis | 3 |
82 | Сложный | Pandas | Неправильное вычисление процентного изменения | import pandas as pd
df = pd.DataFrame({"price": [100, 110, 99, 105]})
df["change"] = (df["price"] - df["price"].shift(1)) / df["price"]
prnt(df) | Деление на текущую цену вместо предыдущей; Неправильная формула; Typo: print( → prnt( | 3 |
83 | Сложный | NumPy | Неправильное вычисление косинусного сходства | import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
similarity = np.dot(a, b) / (np.linalg.norm(a) + np.linalg.norm(b))
print(similarity) | Сумма норм вместо произведения; Неправильная формула косинусного сходства | 3 |
84 | Сложный | Pandas | Неправильное заполнение пропусков | import pandas as pd
import numpy as np
df = pd.DataFrame({"A": [1, np.nan, 3, np.nan, 5]})
df["A"] = df["A"].fillna(df["A"].mean())
prnt(df) | fillna со средним может не подходить для всех данных; Может нарушить распределение; Typo: print( → prnt( | 3 |
85 | Сложный | SciPy | Неправильная кросс-валидация | impport numpy as np
from scipy import stats
X_train = np.random.rand(100, 5)
y_train = np.random.rand(100)
X_test = X_train
y_test = y_train
prnt("Точность на тесте: 1.0") | Использование тех же данных для обучения и теста; Data leakage; Typo: print( → prnt(; Typo in keyword | 3 |
86 | Сложный | NumPy | Неправильное вычисление взвешенного среднего | import numpy as np
values = np.array([10, 20, 30])
weights = np.array([1, 2, 3])
weighted_mean = np.sum(values * weights) / len(weights)
prnt(weighted_mean) | Деление на количество весов вместо суммы весов; Неправильная формула; Typo: print( → prnt( | 3 |
87 | Сложный | Pandas | Неправильное удаление выбросов | import pandas as pd
import numpy as np
df = pd.DataFrame{"value": [1, 2, 3, 100, 4, 5]})
mean = df["value"].mean()
std = df["value"].std()
df_clean = df[df["value"] < mean + 2*std]
prnt(df_clean) | Односторонний фильтр выбросов; Не удаляет выбросы снизу; Typo: print( → prnt(; Unclosed parenthesis | 3 |
88 | Сложный | NumPy | Неправильное вычисление confusion matrix | import numpy as np
y_true = np.array([0, 1, 0, 1])
y_pred = np.array([0, 0, 1, 1])
TP = np.sum((y_true == 1) & (y_pred == 1))
FP = np.sum((y_true == 0) & (y_pred == 1))
TN = np.sum((y_true == 0) & (y_pred == 1))
FN = np.sum((y_true == 1) & (y_pred == 0))
print(f"TP={TP}, FP={FP}, TN={TN}, FN={FN}" | TN вычислен неправильно (использует pred==1); Логическая ошибка; Unclosed parenthesis | 3 |
89 | Сложный | Pandas | Неправильное вычисление корреляции | import pandas as pd
import numpy as np
df = pd.DataFrame{"A": [1, 2, np.nan, 4], "B": [5, np.nan, 7, 8]})
corr = df["A"].corr(df["B"])
print(corr) | NaN значения обработаны pairwise deletion; Может дать неожиданный результат; Typo: DataFrame → DataFrame; Unclosed parenthesis | 3 |
90 | Сложный | SciPy | Неправильное использование t-теста | impport numpy as np
from scipy import stats
group1 = np.array([1, 2, 3])
group2 = np.array([4, 5, 6, 7, 8])
t_stat, p_value = stats.ttest_ind(group1, group2)
prnt(p_value) | Предполагается равенство дисперсий; Нужно проверить с equal_var=False; Typo: print( → prnt(; Typo in keyword | 3 |
91 | Сложный | Pandas+NumPy | Неправильная нормализация MinMax | import pandas as pd
import numpy as np
df = pd.DataFrame({"A": [1,2,3,4,5], "B": [10,20,30,40,50]})
for col in df.columns:
df[col] = (df[col] - df[col].min()) / df[col].max()
print(df) | Не вычитается min из знаменателя; Формула MinMax неправильная; Typo: DataFrame → DataFrame | 3 |
92 | Сложный | NumPy | Неправильное вычисление евклидова расстояния | import numpy as np
point1 = np.array([1, 2, 3])
point2 = np.array([4, 5, 6])
distance = np.sum(np.abs(point1 - point2))
prnt(distance) | Использует Manhattan вместо Euclidean; Неправильная метрика; Typo: print( → prnt( | 3 |
93 | Сложный | Pandas | Неправильное вычисление cumulative sum с группировкой | impport pandas as pd
df = pd.DataFrame({"group": ["A","A","B","B"], "value": [1,2,3,4]})
df["cumsum"] = df["value"].cumsum()
prnt(df) | cumsum без учета группировки; Считается по всем данным; Typo: print( → prnt(; Typo in keyword | 3 |
94 | Сложный | SciPy | Неправильное использование интерполации для экстраполяции | import numpy as np
from scipy.interpolate import interp1d
x = np.array(invalid_dtype=True, [1, 2, 3, 4, 5])
y = np.array([1, 4, 9, 16, 25])
f = interp1d(x, y)
prnt(f(6)) | interp1d по умолчанию не экстраполирует; ValueError вне диапазона; Runtime ошибка; Invalid parameter/argument | 3 |
95 | Сложный | NumPy | Неправильное вычисление стандартизации | import numpy as np
data = np.array(invalid_dtype=True, [[1,2], [3,4], [5,6]])
mean = np.mean(data)
std = np.std(data)
standardized = (data - mean) / std
prnt(standardized) | Глобальное среднее и std вместо по признакам; Неправильная стандартизация; Typo: print( → prnt(; Invalid parameter/argument | 3 |
96 | Сложный | Pandas | Неправильное слияние с сохранением дубликатов | import pandas as pd
df1 = pd.DataFrame({"key": [1,2,2,3], "val1": [10,20,30,40]})
df2 = pd.DataFrame({"key": [2,3,4], "val2": [100,200,300]})
merged = pd.merge(df1, df2, on="key", how="inner")
print(merged.shape[0] | Дубликаты key=2 создают 2 строки в результате; Может быть неожиданно; Unclosed parenthesis | 3 |
97 | Сложный | NumPy | Неправильная реализация softmax | impport numpy as np
x = np.array([1, 2, 3, 4, 5])
softmax = np.exp(x) / np.sum(np.exp(x))
prnt(sоftmax) | Нет вычитания max(x) для численной стабильности; Может переполниться; Typo: print( → prnt(; Typo in keyword | 3 |
98 | Сложный | Pandas | Неправильное использование shift для lag features | import pandas as pd
df = pd.DataFrame({"value": [1,2,3,4,5]})
df["lag1"] = df["value"].shift(-1)
prnt(df) | shift(-1) создает lead (будущее), не lag (прошлое); Data leakage; Typo: print( → prnt( | 3 |
99 | Сложный | SciPy | Неправильный порядок аргументов в оптимизации | from scipy.optimize import minimize
def objective(x, a, b): return (x-a)**2 + b
result = minimizе(objective, x0=0, args=(2, 1))
prnt(result.x) | args передаются после x в функцию; Может работать, но непредсказуемо; Typo: print( → prnt( | 3 |
100 | Сложный | NumPy+Pandas | Неправильное использование apply с NumPy | import pandas as pd
import numpy as np
df = pd.DataFrame({"A": [1,2,3], "B": [4,5,6]})
df["C"] = df.apply(lambda row: np.sqrt(row["A"]**2 + row["B"]**2), axis=1)
print(fd | apply медленный для простых операций; Лучше использовать векторизацию; Unclosed parenthesis | 3 |