在数据框中组合两列

时间:2017-01-27 20:33:58

标签: python pandas lambda

假设我有一个数据框,有amnog其他,两列,date1和date2。 当date2不是时,Date1为null,反之亦然。

我想创建一个名为“date”的列。

我这样做了:

def setDate(s1, s2):
    if not isinstance(s1, str):
        return s2
    else:
        return s1

然后,我想做类似的事情:

data["DATE"] = data[["DATE1", "DATE2"]].apply(lambda x,y : setDate(x,y))

但我一直在接受:

TypeError: ("<lambda>() missing 1 required positional argument: 'y'", 'occurred at index DATE1')

如何在数据帧上使用apply来做我想做的事?

1 个答案:

答案 0 :(得分:2)

尝试:

data['DATE'] = data.DATE1.fillna(data.DATE2)

或者如果你想保持dtypes的方式

{{1}}