我有一个如下所示的示例DataFrame:
import pandas as pd
import numpy as np
df = pd.DataFrame({'ID':[1,2,2,2,3,3,], 'date':array(['2000-01-01','2002-01-01','2010-01-01','2003-01-01','2004-01-01','2008-01-01'],dtype='datetime64[D]')})
我正在尝试获取每个ID组中第二早的日期。因此,我编写了以下函数:
def f(x):
if len(x)==1:
return x[0]
else:
x.sort()
return x[1]
然后我写道:
df.groupby('ID').date.apply(lambda x:f(x))
结果出现了错误。
你能想办法使它正常工作吗?