Я хотел бы добавить префикс к именам вложенных столбцов, чтобы они не создавали повторяющиеся столбцы.
Вот пример кода Python
Код: Выделить всё
import datetime
import random
import polars as pl
df = pl.DataFrame({
'datetime_local': pl.Series(
datetime.datetime(2001, 1, 1, 1, 1, 1, 0) + datetime.timedelta(milliseconds=20 * i) for i in range(500)
),
'value1': pl.Series(random.random() for _ in range(500)),
'value2': pl.Series(random.random() for _ in range(500))
})
def my_complex_function(param_a:float, param_b:float, param_c:float, param_d:float):
""" takes n parameters perform complex calculations and return a dictionary"""
output_1 = param_a + param_b + param_c + param_d # you have to imagine that there are some complex calculations here
output_2 = param_a * param_b * param_c * param_d
output_3 = param_a / param_b / param_c / param_d
return {"output_1": output_1, "output_2": output_2, "output_3": output_3}
setup_A_param_c_value = 1.0
setup_A_param_d_value = 2.0
setup_B_param_c_value = 3.0
setup_B_param_d_value = 4.0
# Etc...
df = df.with_columns(pl.struct('value1', 'value2').map_elements(lambda x: \
my_complex_function(param_a=x['value1' ], param_b=x['value2'], \
param_c=setup_A_param_c_value, param_d=setup_A_param_d_value, \
) ).alias('setup_A_results')).unnest('setup_A_results')
# This errors
df = df.with_columns(pl.struct('value1', 'value2').map_elements(lambda x: \
my_complex_function(param_a=x['value1' ], param_b=x['value2'], \
param_c=setup_B_param_c_value, param_d=setup_B_param_d_value, \
) ).alias('setup_B_results')).unnest('setup_B_results')
Код: Выделить всё
# DuplicateError: could not create a new DataFrame: column with name 'output_1' has more than one occurrence
Должен быть способ поставить перед именами вложенных столбцов строку.
Подробнее здесь: https://stackoverflow.com/questions/765 ... -in-polars
Мобильная версия