Я хочу получить новый фрейм данных, каждая строка соответствует коду, и для каждого столбца я хочу иметь самое последнее ненулевое значение (с самым высоким днем).
В pandas я могу просто сделать
Позвольте мне объяснить мой вопрос на примере: У меня есть фрейм данных: [code]pd_1 = pd.DataFrame({'day':[1,2,3,2,1,3], 'code': [10, 10, 20,20,30,30], 'A': [44, 55, 66,77,88,99], 'B':['a',None,'c',None,'d', None], 'C':[None,None,'12',None,None, None] }) df_1 = sc.createDataFrame(pd_1) df_1.show() [/code] Вывод: [code]+---+----+---+----+----+ |day|code| A| B| C| +---+----+---+----+----+ | 1| 10| 44| a|null| | 2| 10| 55|null|null| | 3| 20| 66| c| 12| | 2| 20| 77|null|null| | 1| 30| 88| d|null| | 3| 30| 99|null|null| +---+----+---+----+----+ [/code] Я хочу получить новый фрейм данных, каждая строка соответствует коду, и для каждого столбца я хочу иметь самое последнее ненулевое значение (с самым высоким днем). В pandas я могу просто сделать [code]pd_2 = pd_1.sort_values('day', ascending=True).groupby('code').last() pd_2.reset_index() [/code] чтобы получить [code] code day A B C 0 10 2 55 a None 1 20 3 66 c 12 2 30 3 99 d None [/code] Мой вопрос: как я могу это сделать в pyspark (предпочтительно версии