所以我有一个pysparkDataframe,我想添加另一个列来使用section_1列中的值,并在python字典中找到相应的值。因此,基本上使用第1节单元格中的值作为键,然后在新列中填写python字典中的值,如下所示。
原始Dataframe
dataidobjidnameobjectsection\我的datadata NameObjectNamerd.111rd.123
python词典
object_map= {'rd.123' : 'rd.567'}
其中第1节的值为rd.123,我将在字典中搜索关键字“rd.123”,并希望返回rd.567的值并将其放入新列中
所需Dataframe
dataidobjidnameobjectsection \u 1 Section \u 2我的datadata NameObjectNamerd.111rd.123rd.567
现在我得到了这个错误与我目前的代码,我真的不知道我做错了什么,因为我不熟悉pyspark
代码中对列对象的调用不正确。请检查您的代码。
这是我目前正在使用的代码,其中object\u map是python字典。
test_df = output.withColumn('Section_2', object_map.get(output.Section_1.collect()))
1条答案
按热度按时间zvokhttg1#
您可以尝试以下方法(根据此答案改编,添加了空处理):