gpt4 book ai didi

python - 从 df 创建字典的正确方法或计算 jaccard 相似度的方法

转载 作者:行者123 更新时间:2023-11-28 21:32:09 24 4
gpt4 key购买 nike

我有一个超过 8000 列的 df。每列(第一列除外)代表二进制值 0 或 1。

|Name| t1| t2| t3|...| t4|  
| ..aa.. | 0 | 0 | 1 |...| 0 |
| ..bb.. | 0 | 0 | 0 |...| 0 |
| ..cc.. | 1 | 0 | 0 |...| 0 |

我的目标是计算 aa、bb、cc 之间的 jaccard 索引,以获得列表中存储的值,这就是我要使用字典的原因。

字典必须如下所示:

{'aa': [0,0,1,...,0], 'bb': [0,0,0,...,0],...}

当 dict key=df 索引且 value 是表示为列表的行时,如何实现这样的结果?

最佳答案

您可以通过压缩 Name 列和数据帧的其余部分并从生成的元组中调用 dict 构造函数来构建字典:

dict(zip(df.Name, df.loc[:,'t1':].values.tolist()))
# dict(zip(df.index, df.loc[:,'t1':].values.tolist())) # if name is the index
# {'aa': [0, 0, 1, 0], 'bb': [0, 0, 0, 0], 'cc': [1, 0, 0, 0]}

输入数据:

   Name    t1     t2     t3     t4
0 aa 0 0 1 0
1 bb 0 0 0 0
2 cc 1 0 0 0

关于python - 从 df 创建字典的正确方法或计算 jaccard 相似度的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56967989/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com