Is there a reason why DataFrame first_valid_index() and last_valid_index() don't return a Series with the first/last valid index for each column? It seems a little inconsistent with the rest of the API, and working around it isn't straightfoward.

This wouldn't be so bad if df.apply('first_valid_index') actually applied to each column, but it does not. And finally, df.apply(lambda c: c.first_valid_index()) only works on DataFrame, but not Series, so there is no way to generically vectorize / broadcast it yourself without type introspection.

I recognize the API is frozen now, but either a parameter or new functions that do the helpful and unsurprising thing would be nice.

Comment From: mroeschke

Thanks for the suggestion, but it appears there's not much appetite for this feature from the community and core devs. Closing but can reopen if there's renewed interest