Умножение каждой цифры на номер панды - PullRequest
0 голосов
/ 13 сентября 2018

Я работаю над проблемой, которая поможет улучшить кодирование в Python / Pandas, и я застрял в этом сценарии.

Here is the table for better description

Шаг 1: Умножьте каждый отдельный символ на указанное число.

Шаг 2: Добавьте результаты, чтобы создать сумму.

Шаг 3: Вычтите сумму из ближайшего равного или большего кратного десяти.

Я хочу сделать это для чисел в серии. Например: Серия = [123456789012], [02345434225], [2349349723]

1 Ответ

0 голосов
/ 13 сентября 2018

Настройка

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...