Evaluation limits of pandas.DataFrame.assign keyword arguments
Users often want to chain column creation in a single pandas.DataFrame.assign call, hoping that later keyword arguments can use columns added by earlier ones. The documented behavior, however, evaluates each keyword argument against the original DataFrame before any assignments take effect, so later keywords cannot see newly created columns and raise a KeyEr