[英]How can I use `map` in python to convert dict values to integers?
我想转换字典键(从json.loads()
以整数与map()
我知道我可以使用循环来做到这一点,但是我正在尝试从功能上做到这一点,以便可以在Spark中实现它。 例如:
import pyspark as ps
import json
# Uses all 4 cores on your machine
sc = ps.SparkContext('local[4]')
file_rdd = sc.textFile('data/cookie_data.txt')
kv_rdd_json = file_rdd.map(lambda x: json.loads(x))
kv_rdd2 = kv_rdd_json.map(lambda x: map(int, x.get)) # here's the issue
kv_rdd.collect()
我有另一种使用函数的方法,但我很好奇:如何在pyspark(和python2,python3的红利)中使用.map来实现?
根据注释:示例数据(纯文本):
{"Jane": "2"}
{"Jane": "1"}
{"Pete": "20"}
{"Tyler": "3"}
{"Duncan": "4"}
{"Yuki": "5"}
{"Duncan": "6"}
{"Duncan": "4"}
{"Duncan": "5"}
如何将dict值转换为int的示例: Python:如何将字典的值列表从字符串转换为int / float?
for key in mydict.keys():
mydict[key] = int(mydict[key])
.get类似于此处: 按值对Python字典进行排序
dict(zip(mydict, map(int, mydict.values())))
或使用lambda:
dict(map(lambda x: (x[0], int(x[1])), mydict.items()))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.