gpt4 book ai didi

python - 排序后生成每个键自动递增数字的最佳方法

转载 作者:行者123 更新时间:2023-11-28 17:32:45 26 4
gpt4 key购买 nike

我想问一下实现按键自增的最好方法是什么 排序后的数字,例如。 :

原始文件:

 1,a,b,c,1,1
1,a,b,d,0,0
1,a,b,e,1,0
2,a,e,c,0,0
2,a,f,d,1,0

后输出(最后一列是分组后的位置编号 前三个字段并对最后两个值进行反向排序)

 1,a,b,c,1,1,1
1,a,b,d,0,0,3
1,a,b,e,1,0,2
2,a,e,c,0,0,2
2,a,f,d,1,0,1

我正在使用使用 groupbykey 的解决方案,但它遇到了一些问题 问题(可能是 pyspark/spark 的错误?),想知道是否有 实现这一目标的更好方法。

我的解决方案:

 A = sc.textFile("train.csv")
.filter(lambda x:not isHeader(x))
.map(split)
.map(parse_train)
.filter(lambda x: not x is None)

B = A.map(lambda k:((k.first_field,k.second_field,k.first_field,k.third_field),(k[0:5])))
.groupByKey()

B.map(sort_n_set_position)
.flatMap(lambda line: line)

其中 sort 和 set position 遍历迭代器并执行 排序并添加最后一列

最佳答案

因为你有大键(所有 3 个第一个值),我假设你不会有每个键的大量行。鉴于此,我将只使用 groupByKey([numTasks]),然后使用普通代码进行排序并将索引添加到生成的可迭代对象的每一行。

关于python - 排序后生成每个键自动递增数字的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33209743/

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