Просто сделайте: df1.groupby(['ID', 'Category']).transform(func='mean')
на первом кадре данных, чтобы получить желаемый кадр данных.
Летом 2005 года или около того я работал с невероятно умным студентом над проблемой создания некоторого логического вывода во время компиляции для Lua, возможно, с помощью аннотаций , Эта проблема оказывается невероятно сложной! (Мой ученик написал короткую техническую заметку, но на самом деле она не предназначена для общего распространения.)
Если бы я хотел решить поставленную вами проблему, с двумя близкими ограничениями, которые он допускает значительную статическую проверку типов и что он взаимодействует со стандартным Lua-кодом, скомпилированным с помощью байт-кода , Я бы разработал новый язык с нуля , чтобы удовлетворить эти два ограничения. Это будет значительный объем работы, но значительно проще, чем попытка дооснастить систему типов до Lua.
Такого не бывает. Может быть возможно расширить MetaLua, чтобы сделать это, но никто не сделал этого, и AFAIK, нет никаких планов сделать это. Предполагается, что Lua - это динамический язык, если вы хотите использовать язык со статической типизацией, используйте его.
По сути, вы ищете что-то вроде Java или C #. В этом случае вы можете использовать проект типа Lua.NET для интеграции существующего кода Lua с C #. Существует также Kahlua для Java.
Пожалуйста, посмотрите этот пост в блоге Metalua .
-{ extension "types" }
function sum (x :: list(number)) :: number
local acc :: number = 0
for i=1, #x do acc=acc+x[i] end
return acc
end
Это похоже на решение во время выполнения.
В любом случае, не стесняйтесь задавать свой вопрос в Список рассылки Metalua . Если вы хотите расширить синтаксис Lua, Metalua - первый инструмент, на который стоит обратить внимание.
PS Пожалуйста, никогда не пишите Lua как прописные буквы !