Spark:匹配来自两个数据框的列

Nareshbabral

我有一个格式如下的数据框

+---+---+------+---+
| sp|sp2|colour|sp3|
+---+---+------+---+
|  0|  1|     1|  0|
|  1|  0|     0|  1|
|  0|  0|     1|  0|
+---+---+------+---+

另一个数据帧包含第一个数据帧中每一列的系数。例如

+------+------+---------+------+
| CE_sp|CE_sp2|CE_colour|CE_sp3|
+------+------+---------+------+
|  0.94|  0.31|     0.11|  0.72|
+------+------+---------+------+

现在,我想向第一个数据帧添加一列,该列是通过添加第二个数据帧的分数来计算的。

对于前。

+---+---+------+---+-----+
| sp|sp2|colour|sp3|Score|
+---+---+------+---+-----+
|  0|  1|     1|  0| 0.42|
|  1|  0|     0|  1| 1.66|
|  0|  0|     1|  0| 0.11|
+---+---+------+---+-----+

IE

r -> row of first dataframe
score = r(0)*CE_sp + r(1)*CE_sp2 + r(2)*CE_colour + r(3)*CE_sp3

列数可以为n,列的顺序可以不同。

提前致谢!!!

零323

快速简单:

import org.apache.spark.sql.functions.col

val df = Seq(
  (0, 1, 1, 0), (1, 0, 0, 1), (0, 0, 1, 0)
).toDF("sp","sp2", "colour", "sp3")

val coefs = Map("sp" -> 0.94, "sp2" -> 0.32, "colour" -> 0.11, "sp3" -> 0.72)
val score = df.columns.map(
  c => col(c) * coefs.getOrElse(c, 0.0)).reduce(_ + _)

df.withColumn("score", score)

而在PySpark中,同样的事情:

from pyspark.sql.functions import col

df = sc.parallelize([
    (0, 1, 1, 0), (1, 0, 0, 1), (0, 0, 1, 0)
]).toDF(["sp","sp2", "colour", "sp3"])

coefs = {"sp": 0.94, "sp2": 0.32, "colour": 0.11, "sp3": 0.72}
df.withColumn("score", sum(col(c) * coefs.get(c, 0) for c in df.columns))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Spark:匹配来自两个数据框的列

来自分类Dev

Python Spark连接两个数据框并填充列

来自分类Dev

使用groupby Pandas连接来自两个数据框的分类列和数值列

来自分类Dev

比较两个数据框列

来自分类Dev

按列匹配两个数据框并找到每个可能的匹配组合

来自分类Dev

R-在两个数据框中匹配两列

来自分类Dev

比较基于两个数字列的两个数据框,并找到在彼此的数字阈值内匹配的行

来自分类Dev

jQuery-匹配来自两个数组的数据

来自分类Dev

匹配两个数据框的列并将其存储在新列中

来自分类Dev

在仅某些行匹配的R中的两个数据框中合并单个列

来自分类Dev

熊猫比较两个数据框并在一列中删除匹配项

来自分类Dev

根据两个数据框中的行是否匹配来创建新列

来自分类Dev

Python比较两个数据框的列并生成匹配行的索引

来自分类Dev

根据两个数据框之间的比较匹配来创建列

来自分类Dev

基于列值对之间最接近的匹配来合并两个数据框

来自分类Dev

查找具有最大匹配条目/值数的两个数据框的列

来自分类Dev

熊猫中两个数据框之间的匹配日期

来自分类Dev

连接两个数据框并覆盖匹配的行[R]

来自分类Dev

在scala中匹配两个数据框

来自分类Dev

在它们匹配的列上连接两个数据框

来自分类Dev

熊猫中两个数据框之间的匹配日期

来自分类Dev

比较两个数据框并过滤匹配的值

来自分类Dev

从匹配同一列的两个值的两个数据框中提取一个数据框?

来自分类Dev

如何在两个数据框中匹配列值,以及如何使行名与匹配的相应列值匹配

来自分类Dev

两个数据框的联合在 Spark 中更改列顺序

来自分类Dev

Spark 比较两个数据帧并找到匹配计数

来自分类Dev

r 匹配两个数据框中的数据,然后在另一列中检查匹配行中的文本

来自分类Dev

在Spark SQL中转换两个数据框

来自分类Dev

根据两列的交集绑定两个数据框

Related 相关文章

  1. 1

    Spark:匹配来自两个数据框的列

  2. 2

    Python Spark连接两个数据框并填充列

  3. 3

    使用groupby Pandas连接来自两个数据框的分类列和数值列

  4. 4

    比较两个数据框列

  5. 5

    按列匹配两个数据框并找到每个可能的匹配组合

  6. 6

    R-在两个数据框中匹配两列

  7. 7

    比较基于两个数字列的两个数据框,并找到在彼此的数字阈值内匹配的行

  8. 8

    jQuery-匹配来自两个数组的数据

  9. 9

    匹配两个数据框的列并将其存储在新列中

  10. 10

    在仅某些行匹配的R中的两个数据框中合并单个列

  11. 11

    熊猫比较两个数据框并在一列中删除匹配项

  12. 12

    根据两个数据框中的行是否匹配来创建新列

  13. 13

    Python比较两个数据框的列并生成匹配行的索引

  14. 14

    根据两个数据框之间的比较匹配来创建列

  15. 15

    基于列值对之间最接近的匹配来合并两个数据框

  16. 16

    查找具有最大匹配条目/值数的两个数据框的列

  17. 17

    熊猫中两个数据框之间的匹配日期

  18. 18

    连接两个数据框并覆盖匹配的行[R]

  19. 19

    在scala中匹配两个数据框

  20. 20

    在它们匹配的列上连接两个数据框

  21. 21

    熊猫中两个数据框之间的匹配日期

  22. 22

    比较两个数据框并过滤匹配的值

  23. 23

    从匹配同一列的两个值的两个数据框中提取一个数据框?

  24. 24

    如何在两个数据框中匹配列值,以及如何使行名与匹配的相应列值匹配

  25. 25

    两个数据框的联合在 Spark 中更改列顺序

  26. 26

    Spark 比较两个数据帧并找到匹配计数

  27. 27

    r 匹配两个数据框中的数据,然后在另一列中检查匹配行中的文本

  28. 28

    在Spark SQL中转换两个数据框

  29. 29

    根据两列的交集绑定两个数据框

热门标签

归档