PythonMD5值不在索引中
我正在尝试在导入的csv文件中修改和添加一些列。 我的想法是,我需要两个额外的列,一个是电子邮件地址的MD5值,另一个是电子邮件的SHA256值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 | +----+-----------+---------+ 我试
+----+-----------+---------+
| 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()
保持不变。功能改变了,就是这样!