Под капотом все это дело векторизируется numpy-ем, поэтому кол-во стобцов, в т.ч. добавляемых диначески во время прохождения по данным, не имеет значения. На сегодняшний день это единственное рабочее решение из найденных мной для неоднородных данных. Но только ради этого тащить ~50 метров numpy + ~50 метров самого пандаса лично мне не улыбается. Поэтому у меня типа есть своего чисто питонячее решение, но оно еще не готово полностью для прода.