从key - pyspark获取价值

时间:2018-03-02 00:53:39

标签: python pyspark

我有一个具有以下结构的元组,它和RDD:

[('M', 0.016200000000000003), ('H', 0.0165), ('M', 0.0161), ('M', 0.0168), ('H', 0.0167), ('M', 0.0165), ('M', 0.0165), ('H', 0.018000000000000002), ('H', 0.0172), ('H', 0.0182), ('M', 0.0167), ('H', 0.0187), ('M', 0.016399999999999998), ('M', 0.0167), ('M', 0.0165), ('H', 0.0168), ('M', 0.0161), ('H', 0.0168), ('M', 0.0159)]

第一部分,关键是" H"男人或" M"女性,另一方面,价值是他们在KM中的规模。

我想要的是访问每个键中的每个值并将其乘以10000。

这是我的代码。

to_float1 = to_float.map(lambda x: x[1]*10000)

输出:

[162.00000000000003, 165.0, 161.0, 168.0, 167.0, 165.0, 165.0, 180.00000000000003, 172.0, 182.0, 167.0, 187.0, 163.99999999999997, 167.0, 165.0, 168.0, 161.0, 168.0, 159.0]

我可以看到的问题是,我从元组中失去了关键部分。

是否有保持元组结构的想法?

1 个答案:

答案 0 :(得分:2)

你试过从lambda中返回一个元组吗?

to_float1 = to_float.map(lambda x: (x[0], x[1]*10000))