【发布时间】:2016-11-22 03:45:26
【问题描述】:
正如标题所说,我试图在某些条件下对数据框的每一对列应用一个函数。我将尝试说明这一点。我的 df 格式为:
Code | 14 | 17 | 19 | ...
w1 | 0 | 5 | 3 | ...
w2 | 2 | 5 | 4 | ...
w3 | 0 | 0 | 5 | ...
代码对应于矩形网格中的确定位置,ws是不同的词。我只想在每对列之间应用余弦相似度度量(已编辑!) 如果一对列中的项目总和大于 5。
所需的输出类似于:
| [14,17] | [14,19] | [14,...] | [17,19] | ...
Sim |cs(14,17) |cs(14,19) |cs(14,...) |cs(17,19)..| ...
cs 是每对列的余弦相似度的结果。 有没有合适的方法来做到这一点?
任何帮助将不胜感激:-)
【问题讨论】:
-
如果我直截了当,你不会想要
cs(14,17)或cs(14,19)等,因为“14”列中没有大于 5 的项目。你尝试过什么吗?能否请您提供一些失败的代码和示例? -
嗨,@danielhadar。实际上到目前为止,我已经手动完成了一些计算。我在问是否有任何方法可以将函数(在这种情况下为余弦相似度,但我将应用更多函数)以矢量方式应用于每对列,即无需在列上编写循环。最后一个df的build只是为了对结果有更好的可视化,但这并不重要。
标签: python pandas cosine-similarity