python - 在 python pandas 的数据框中使用选定的列为每一行数据创建哈希值

标签 python hash pandas

我问过similar question在 R 中关于为每一行数据创建哈希值。我知道我可以使用类似 hashlib.md5(b'Hello World').hexdigest() 的东西来对字符串进行哈希处理,但是数据帧中的一行呢?

更新01

我的代码起草如下:

for index, row in course_staff_df.iterrows():
        temp_df.loc[index,'hash'] = hashlib.md5(str(row[['cola','colb']].values)).hexdigest()

对我来说似乎不是很 pythonic,有更好的解决方案吗?

最佳答案

或者简单地说:

df.apply(lambda x: hash(tuple(x)), axis = 1)

举个例子:

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(3,5))
print df
df.apply(lambda x: hash(tuple(x)), axis = 1)

     0         1         2         3         4
0  0.728046  0.542013  0.672425  0.374253  0.718211
1  0.875581  0.512513  0.826147  0.748880  0.835621
2  0.451142  0.178005  0.002384  0.060760  0.098650

0    5024405147753823273
1    -798936807792898628
2   -8745618293760919309

关于python - 在 python pandas 的数据框中使用选定的列为每一行数据创建哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25757042/

相关文章:

ruby - 我怎样才能避免在我的两个总和解决方案中使用相同的元素

python - 类型错误 : argument of type 'int' is not iterable

python - 使用 python 和 beautifulsoup 选择一组表格下的一组特定单元格

python - read_csv 列编码

algorithm - 哈希表加载因子 a 和 n 槽,冲突的开放寻址

python - 重采样后合并 pandas DataFrame

python - 如何反转滚动总和?

python - Cherrypy 使用 cxfreeze 打包时找不到 wsgiserver 模块

python - 使用 numpy 和 pylab 绘图

java - Go SHA-256 哈希不同于 Java SHA-256 哈希