Why There Is An Extra Index When Using Apply In Pandas
Solution 1:
As such, you will have no way to avoid level_2 appearing. This is because the result of your grouping is a dataframe with several items in it: pandas is cool enough to understand your wish is to broadcast these items across the grouped keys, yet it is taking the index of the dataframe as an additional level to guarantee coherent output data. So dropping level=-1 at the end of your processing explicitly is expected.
If you want to avoid to reset that extra index, but still have some post processing, another way would be to call transform instead of apply, and get the returned data from fnc
being the entire group vector where you put np.nan
for results to exclude. Then, your dataframe will not have an extra level, but you'll need to call dropna()
afterwards.
Post a Comment for "Why There Is An Extra Index When Using Apply In Pandas"