У меня есть функция "fun c", которая принимает pandas Dataframe в качестве параметра и возвращает объект класса A (созданный мной).
Я ожидал, что следующее произведет pandas Series, и это так, однако он не содержит ожидаемых результатов (данные представляют собой фрейм данных):
data.groupby(groupby_list).apply(lambda df: func(df))
Внутренние данные экземпляров класса A быть потерянным Я знаю это, потому что, если я распечатываю возврат fun c, тогда я вижу, что эти экземпляры являются такими, какими они должны быть.
Однако следующий хак работает отлично и дает результат Я хотел:
data.groupby(groupby_list).apply(lambda df: [func(df)]).apply(lambda x: x[0])
Кто-нибудь может догадаться, в чем причина? Я не могу воссоздать этот пример с простыми классами. Если это уместно, мой класс является дочерним классом, и я переписал много внутренних методов.
ОБНОВЛЕНИЕ Я уверен, что это как-то связано с тем, что мой класс является производным из словаря. Кроме того, если параметры groupby содержат категориальные столбцы, то все работает, как ожидалось.