你有没有遇到过这样的问题,我想根据不同的条件,执行不同的动作。那就看下面的命令:
问题:当一个contact有多个PHN_NBR时,优先选择以1开头的,当没有以1开头的时候,随机选取一条。当以1开头的为多个contact时,选取最新的ord_date.当取出多条时,随机选择一条
@pandas_udf(a.schema, PandasUDFType.GROUPED_MAP)
def udf_sku(pdf):
CONTACT= pdf.CONTACT.iloc[0]
df=pdf.loc[pdf["CONTACT_PHONE"].str.startswith('1', na=False)]
print(df.shape[0])
if (df.shape[0]==0):
return pdf.head(1)
df=df.sort_values(by='ORDER_DATE', ascending=False, na_position='last')
return df.head(1)
b=a.groupby("CONTACT_ID").apply(udf_sku)
b.count()