如何获得火花行的value_counts?

国家情报局

我有一个带有3列的spark数据框,其中存储3个不同的预测。我想知道每个输出值的计数,以便选择获得最大次数的值作为最终输出。

通过在每一行调用我的lambda函数以获取value_counts,我可以在pandas中轻松地做到这一点,如下所示。我已经在这里将spark df转换为pandas df,但是我需要能够直接在spark df上执行类似的操作。

r=[Row(run_1=1, run_2=2, run_3=1, name='test run', id=1)]
df1=spark.createDataFrame(r)
df1.show()
df2=df1.toPandas()
r=df2.iloc[0]
val_counts=r[['run_1','run_2','run_3']].value_counts()
print(val_counts)
top_val=val_counts.index[0] 
top_val_cnt=val_counts.values[0]
print('Majority output = %s, occured %s out of 3 times'%(top_val,top_val_cnt))

输出告诉我值1出现的次数最多-在这种情况下为两次-

+---+--------+-----+-----+-----+
| id|    name|run_1|run_2|run_3|
+---+--------+-----+-----+-----+
|  1|test run|    1|    2|    1|
+---+--------+-----+-----+-----+

1    2
2    1
Name: 0, dtype: int64

Majority output = 1, occured 2 out of 3 times

我正在尝试编写一个udf函数,该函数可以使用df1的每一行并获取top_val和top_val_cnt。有没有办法使用spark df实现此目的?

面包

python的代码应该相似,也许会对您有所帮助

  val df1 = Seq((1, 1, 1, 2), (1, 2, 3, 3), (2, 2, 2, 2)).toDF()
  df1.show()
  df1.select(array('*)).map(s=>{
    val list = s.getList(0)
    (list.toString(),list.toArray.groupBy(i => i).mapValues(_.size).toList.toString())
  }).show(false)

输出:

+---+---+---+---+
| _1| _2| _3| _4|
+---+---+---+---+
|  1|  1|  1|  2|
|  1|  2|  3|  3|
|  2|  2|  2|  2|
+---+---+---+---+

+------------+-------------------------+
|_1          |_2                       |
+------------+-------------------------+
|[1, 1, 1, 2]|List((2,1), (1,3))       |
|[1, 2, 3, 3]|List((2,1), (1,1), (3,2))|
|[2, 2, 2, 2]|List((2,4))              |
+------------+-------------------------+

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

没有从熊猫value_counts()获得0索引

来自分类Dev

如何根据前10个value_counts的数量从DataFrame中获取行?

来自分类Dev

如何通过value_counts()在数据框上创建列

来自分类Dev

如何从 value_counts() 的输出创建新的数据框

来自分类Dev

如何在每一行上做 value_counts 并制作一些值是每个值的计数的列

来自分类Dev

如何在多列上使用 value_counts() 保留与特定条件匹配的 Pandas 数据框的行

来自分类Dev

如何将value_counts(normalize = True)和value_counts()应用于熊猫系列?

来自分类Dev

创建每小时间隔并遍历以获得value_counts python pandas

来自分类Dev

熊猫:value_counts函数的反函数

来自分类Dev

熊猫value_counts进入新列

来自分类Dev

value_counts无法正常工作

来自分类Dev

使用熊猫Value_Counts和matplotlib

来自分类Dev

.value_counts()给出被截断的结果

来自分类Dev

获取value_counts()作为字典的值

来自分类Dev

每行熊猫数据框的“ value_counts”

来自分类Dev

熊猫-value_counts()中消失的值

来自分类Dev

熊猫value_counts()并保留它

来自分类Dev

value_counts()方法的访问值

来自分类Dev

value_counts返回相同值的计数?

来自分类Dev

熊猫的相应索引value_counts()方法

来自分类Dev

在同一行中具有多个匹配项的Pandas value_counts()

来自分类Dev

Pandas Dataframe:删除行,但它们仍在value_counts()中

来自分类Dev

熊猫:.value_counts()仅计算与数据帧第一行相等的事件

来自分类Dev

如何在熊猫中绘制value_counts,其中的大量不同计数不是均匀分布的

来自分类Dev

如何在熊猫中执行诸如groupby()和value_counts()之类的某些操作?

来自分类Dev

在熊猫中按另一列分组时如何返回value_counts()

来自分类Dev

如何在Python中手动排列Value_counts的索引

来自分类Dev

当groupie后跟value_counts()时如何计算pandas.Series范围

来自分类Dev

如何在pandas数据框列中找到value_counts()的长度大于1的长度

Related 相关文章

  1. 1

    没有从熊猫value_counts()获得0索引

  2. 2

    如何根据前10个value_counts的数量从DataFrame中获取行?

  3. 3

    如何通过value_counts()在数据框上创建列

  4. 4

    如何从 value_counts() 的输出创建新的数据框

  5. 5

    如何在每一行上做 value_counts 并制作一些值是每个值的计数的列

  6. 6

    如何在多列上使用 value_counts() 保留与特定条件匹配的 Pandas 数据框的行

  7. 7

    如何将value_counts(normalize = True)和value_counts()应用于熊猫系列?

  8. 8

    创建每小时间隔并遍历以获得value_counts python pandas

  9. 9

    熊猫:value_counts函数的反函数

  10. 10

    熊猫value_counts进入新列

  11. 11

    value_counts无法正常工作

  12. 12

    使用熊猫Value_Counts和matplotlib

  13. 13

    .value_counts()给出被截断的结果

  14. 14

    获取value_counts()作为字典的值

  15. 15

    每行熊猫数据框的“ value_counts”

  16. 16

    熊猫-value_counts()中消失的值

  17. 17

    熊猫value_counts()并保留它

  18. 18

    value_counts()方法的访问值

  19. 19

    value_counts返回相同值的计数?

  20. 20

    熊猫的相应索引value_counts()方法

  21. 21

    在同一行中具有多个匹配项的Pandas value_counts()

  22. 22

    Pandas Dataframe:删除行,但它们仍在value_counts()中

  23. 23

    熊猫:.value_counts()仅计算与数据帧第一行相等的事件

  24. 24

    如何在熊猫中绘制value_counts,其中的大量不同计数不是均匀分布的

  25. 25

    如何在熊猫中执行诸如groupby()和value_counts()之类的某些操作?

  26. 26

    在熊猫中按另一列分组时如何返回value_counts()

  27. 27

    如何在Python中手动排列Value_counts的索引

  28. 28

    当groupie后跟value_counts()时如何计算pandas.Series范围

  29. 29

    如何在pandas数据框列中找到value_counts()的长度大于1的长度

热门标签

归档