我有下面的功能,这对PandasDataframe工作
def event_list(df,steps):
df['steps_present'] = df['labels'].apply(lambda x:all(step in x for step in steps))
return df
dataframe有一个名为labels的列,其值为list。此函数接受dataframe和steps(这是一个列表),如果参数列表中的所有元素都出现在dataframe列中,则输出dataframe并显示一个新列steps
value in df['labels'] = [EBBY , ABBY , JULIE , ROBERTS]
``` `event_list(df,['EBBY','ABBY'])` 将为该记录返回true,因为ebby和abby在dataframe list列中。
我想在pyspark中创建一个类似的函数。
2条答案
按热度按时间ugmeyewa1#
您可以将函数转换为自定义项,可能类似于下面的内容。
tvmytwxo2#
你可以用
array_except
检查所提供列表中的每个元素是否都存在于labels列中。如果是,结果的大小array_except
将是0。将大小与0进行比较将得到所需的布尔值。