I have a pandas dataset that I want to downsize (remove all values under x).
The mask is df[my_column] > 50
I would typically just use df = df[mask]
, but want to avoid making a copy every time, particularly because it gets error prone when used in functions (as it only gets altered in the function scope).
What is the best way to subset a dataset inplace?
I was thinking of something along the lines ofdf.drop(df.loc[mask].index, inplace = True)
Is there a better way to do this, or any situation where this won't work at all?
You are missing the inplace parameter :
df.drop(df[df.my_column < 50].index, inplace = True)
I think this works. Maybe there are better ways?
df = df.drop(df[df.my_column < 50].index)
来源:https://stackoverflow.com/questions/33103988/pandas-best-way-to-subset-a-dataframe-inplace-using-a-mask