合并两列到第三列给出错误

时间:2018-05-09 10:06:34

标签: pandas

我有一个merger数据框如下:

        Type_x                         Type_y
0          NaN                           val0
1          NaN                           val0
2         val1                            NaN
..         ...                            ...
953        NaN                           val2
954        NaN                            NaN

我正在尝试使用行merger['Type'] = merger.stack().values将这些行相互混合以实现此结果:

        Type_x                         Type_y                           Type
0          NaN                           val0                           val0
1          NaN                           val0                           val0
2         val1                            NaN                           val1
..         ...                            ...                            ...
953        NaN                           val2                           val2
954        NaN                            NaN                            NaN

但是,它无效,我收到错误:ValueError: Length of values does not match length of index。但是,当我print(merger)出现时,这两列的长度相同。此外,当我在Excel中加载它们(用0替换NaN)时,它们的长度相同。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

据我所知,你试过这个, 它可以帮助您获得理想的结果,

merger['Type']=merger['Type_x'].copy()
merger['Type']=merger['Type'].fillna(merger['Type_y'])