PythonMD5值不在索引中

PythonMD5值不在索引中,python,pandas,csv,md5,Python,Pandas,Csv,Md5,我正在尝试在导入的csv文件中修改和添加一些列。 我的想法是,我需要两个额外的列,一个是电子邮件地址的MD5值,另一个是电子邮件的SHA256值 +----+-----------+---------+ | id | email | status | | 1 | 1@foo.com | ERROR | | 2 | 2@foo.com | SUCCESS | | 3 | 3@bar.com | SUCCESS | +----+-----------+---------+ 我试

我正在尝试在导入的csv文件中修改和添加一些列。 我的想法是,我需要两个额外的列,一个是电子邮件地址的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])
这给了我一个错误的说法:

键错误:“[”1@foo.com' '2@foo.com“\n”3@bar.com“]不是 在索引中“

我在另一篇帖子中看到它建议使用
reindex
,但我无法让它起作用。

如果您正在寻找,您必须使用
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/

这是有道理的。。如果我需要将SHA1或SH256作为一个nye列,它将是相同的?@RasmusBidstrup是的,
pd.apply()
保持不变。功能改变了,就是这样!