Как лучше всего применить пользовательскую функцию к нескольким столбцам в Polars? В частности, мне нужна функция для ссылки на другой столбец в кадре данных. Допустим, у меня есть следующее:
variables = ['x', 'y']
df.group_by('group').agg((pl.col(var) * pl.col('num_obs')).sum()/pl.col('num_obs').sum() for var in variables)
но мне интересно, есть ли способ получше. Кроме того, я не знаю, как добавить к этому подходу другие агрегаты, но есть ли способ добавить pl.sum('n_obs')?
Как лучше всего применить пользовательскую функцию к нескольким столбцам в Polars? В частности, мне нужна функция для ссылки на другой столбец в кадре данных. Допустим, у меня есть следующее: [code]df = pl.DataFrame({ 'group': [1,1,2,2], 'other': ['a', 'b', 'a', 'b'], 'num_obs': [10, 5, 20, 10], 'x': [1,2,3,4], 'y': [5,6,7,8], }) [/code] И я хочу сгруппировать по группам и вычислить среднее значение x и y, взвешенное по num_obs. Я могу сделать что-то вроде этого: [code]variables = ['x', 'y'] df.group_by('group').agg((pl.col(var) * pl.col('num_obs')).sum()/pl.col('num_obs').sum() for var in variables) [/code] но мне интересно, есть ли способ получше. Кроме того, я не знаю, как добавить к этому подходу другие агрегаты, но есть ли способ добавить pl.sum('n_obs')?