假设我有一个数据框,有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来做我想做的事?
答案 0 :(得分:2)
尝试:
data['DATE'] = data.DATE1.fillna(data.DATE2)
或者如果你想保持dtypes的方式
{{1}}