Python Pandas MD5 Значение не в индексе - PullRequest
0 голосов
/ 04 ноября 2018

Я пытаюсь изменить и добавить несколько столбцов в импортированный CSV-файл. Идея состоит в том, что мне нужно 2 дополнительных столбца, один со значением MD5 адреса электронной почты и один со значением SHA256 сообщения.

+----+-----------+---------+
| id | email     | status  |
| 1  | 1@foo.com | ERROR   |
| 2  | 2@foo.com | SUCCESS |
| 3  | 3@bar.com | SUCCESS |
+----+-----------+---------+

Я пробовал с

df['email_md5'] = md5_crypt.hash(df[df.email])

Это дает мне сообщение об ошибке:

KeyError: "['1@foo.com' '2@foo.com' \ n '3@bar.com'] нет в индексе "

Я видел в другом посте Pandas KeyError: значение отсутствует в индексе предлагается использовать reindex, но я не могу заставить это работать.

1 Ответ

0 голосов
/ 04 ноября 2018

Если вы ищете md5_crypt.hash, вам придется применить хеш-функцию модуля md5_crypt к каждому письму, используя pd.apply() -

from passlib.hash import md5_crypt
df['email_md5'] = df['email'].apply(md5_crypt.hash)

выход

id  email   status  email_md5
1   1@foo.com   ERROR    11 lHP8aPeE$5T4jqc/qir9yFszVikeSM0
2   2@foo.com   SUCCESS  11 jyOWkcrw$I8iStC3up3cwLLLBwnT5S/
3   3@bar.com   SUCCESS  11 oDfnN5UH$/2N6YljJRMfDxY2gXLYCA/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...