Python “合并错误”的解决方法;不可损坏类型:dict";
我有两个数据帧ds和dk,希望使用merge命令将其与公共列结果合并:Python “合并错误”的解决方法;不可损坏类型:dict";,python,pandas,dictionary,Python,Pandas,Dictionary,我有两个数据帧ds和dk,希望使用merge命令将其与公共列结果合并: result = pd.merge(ds,dk,on='result') 但结果列实际上是一个字典,并导致错误: "unhashable type: dict" 合并这些帧的可能解决方案是什么?是否可以将结果列更改为字符串类型,然后沿列合并? 我尝试使用dk['result']=str(dk['result'])和ds['result']=str(ds['result'])进行转换和合并,但没有成功 谢谢 ds = p
result = pd.merge(ds,dk,on='result')
但结果列实际上是一个字典,并导致错误:
"unhashable type: dict"
合并这些帧的可能解决方案是什么?是否可以将结果列更改为字符串类型,然后沿列合并?
我尝试使用dk['result']=str(dk['result'])
和ds['result']=str(ds['result'])
进行转换和合并,但没有成功
谢谢
ds = pd.DataFrame({'result':[{'a':1,'b':1},{'a':3,'b':9},{'a':7,'b':5}],
'a':[0,1,0]})
dk = pd.DataFrame({'result':[{'a':1,'b':1},{'a':3,'b':9},{'a':7,'b':5}],
'b':[2,2,2]})
ds['result'] = ds['result'].astype(str) # transorm dict to str
dk['result'] = dk['result'].astype(str) # transorm dict to str
result = pd.merge(ds,dk,on='result')
result['result'] = result['result'].apply(eval) # comeback im dict format