Настройка
df = pd.DataFrame([
[6, 2, 9, 1, 0, 4, 1, 5, 0, 0, 2, 1],
[1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2]
]).add_prefix('N')
a = np.array([1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3])
Решение
- Умножить на массив, передаваемый по строкам
- Сумма по строкам
- По модулю 10
- Назначить новый столбец
df.assign(Check=(df * -a).sum(1).mod(10))
N0 N1 N2 N3 N4 N5 N6 N7 N8 N9 N10 N11 Check
0 6 2 9 1 0 4 1 5 0 0 2 1 3
1 1 2 3 4 5 6 7 8 9 0 1 2 8