Кажется, в API панд (IMHO / YMMV) есть пробел в том, что нет способа объединить операции (в свободном стиле), которые работают на всем фрейме данных.
например. a.op1.op2.op3...
Метод apply принимает функцию и аргумент оси и соответственно применяет функцию к строкам или столбцам. То, что я думаю, отсутствует, это ось = Нет, что будет означать, что функция применяется ко всему фрейму данных. Это тогда позволило бы операциям, включая структурные модификации (например, удаление строк, столбцов, переименование, изменения индекса и т. Д.), Быть объединенными в такой свободный стиль.
Для этого есть хак.
Если a является фреймом данных, то ...
a.groupby(lambda _:0).apply(lambda x:...
... означает, что x в примененной лямбда-выражении последовательно устанавливается для каждой группы группы, но создается только одна группа, поэтому функция, примененная к этой группе, фактически становится функцией, применяемой ко всему кадру данных. Однако это немного неуклюже и имеет недостаток в том, что иногда groupby создает новый уровень в индексе (но иногда это нет, и это трудно предсказать).
Я пропустил метод в API или есть менее хитрый способ добиться этого?