簡體   English   中英

如何在python中使用`map`將dict值轉換為整數?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM