无法执行pd.merge

时间:2017-03-14 08:52:33

标签: python pandas

我有2个csv&s;我想基于索引执行外连接(索引是2列的组合)

frame1=pd.read_csv("Gamesa_G114 (Carlos Almeida)1.csv",index_col=['Dispositivo','Fecha'],sep=',',dtype='str')
frame2=pd.read_csv("Gamesa_G114 (Carlos Almeida).csv",index_col=['Dispositivo','Fecha'],sep=',',dtype='str')

两个帧的快照 enter image description here

现在我正在执行外连接

frame=pd.merge(left=frame1,right=frame2,left_index=True,right_index=True,how='outer',suffixes=('_left', '_right'))

但它给出了错误

  
    

TypeError:unorderable类型:str()>浮动()

  

错误的堆栈跟踪http://pastebin.com/eWYfnMRT

为什么会说 TypeError:unorderable类型:str()> float()如果我在阅读csv时指定了 dtype =' str'

我已经进行过多次合并,但从来没有遇到过类型错误的问题。

发布编辑  框架信息 enter image description here

1 个答案:

答案 0 :(得分:0)

这可能不是您答案的解决方案,而是对dtype的评论

您需要在dtype中传递字典。 {‘a’: np.float64, ‘b’: np.int32}而不是String。

我正在使用答案空间来写这个,因为我没有足够的权限发表评论。