You can create a boolean frame and then use any :
>>> df = pd.DataFrame([[1,0,2],[1,2,3],[0,1,2],[4,5,6]]) >>> df 0 1 2 0 1 0 2 1 1 2 3 2 0 1 2 3 4 5 6 >>> df == 0 0 1 2 0 False True False 1 False False False 2 True False False 3 False False False >>> df = df[~(df == 0).any(axis=1)] >>> df 0 1 2 1 1 2 3 3 4 5 6
DSM
source share