在
python中,我试图找到最快的方法来散列pandas数据框中的每个值.
我知道任何字符串都可以使用:
hash('a string')
但是如何在pandas数据框的每个元素上应用此函数?
这可能是一件非常简单的事情,但我刚刚开始使用python.
解决方法
传递散列函数以应用于str列:
In [37]: df = pd.DataFrame({'a':['asds','asdds','asdsadsdas']}) df Out[37]: a 0 asds 1 asdds 2 asdsadsdas In [39]: df['hash'] = df['a'].apply(hash) df Out[39]: a hash 0 asds 4065519673257264805 1 asdds -2144933431774646974 2 asdsadsdas -3091042543719078458
如果要对每个元素执行此操作,请调用applymap:
In [42]: df = pd.DataFrame({'a':['asds','asdsadsdas'],'b':['asewer','werwer','tyutyuty']}) df Out[42]: a b 0 asds asewer 1 asdds werwer 2 asdsadsdas tyutyuty In [43]: df.applymap(hash) Out[43]: a b 0 4065519673257264805 7631381377676870653 1 -2144933431774646974 -6124472830212927118 2 -3091042543719078458 -1784823178011532358
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。