Использование boolean indexing
:
print (df[~(df==0).any(axis=1)])
Name Fruit Total
1 Bob Apple 15
2 Cindy Grapes 27
3 Grant Orange 37
Но если только числовой является столбец Total
использование:
df[df.Total != 0]
Объяснение:
Если в DataFrame
является более числовые столбцы - так что вы можете получить 0
не только в последней колонке, но и в чужих, используйте:
Сначала сравнить все значения с 0
- получить boolean DataFrame
:
print (df==0)
Name Fruit Total
0 False False True
1 False False False
2 False False False
3 False False False
Если нужно найти по крайней мере один True
(0
) в столбцы нужно any
с axis=0
:
print ((df==0).any(axis=0))
Name False
Fruit False
Total True
dtype: bool
Но если нужно, по крайней мере один True
(0
) в строки добавить axis=1
:
print ((df==0).any(axis=1))
0 True
1 False
2 False
3 False
dtype: bool
Invert boolean Series
по ~
:
print (~(df==0).any(axis=1))
0 False
1 True
2 True
3 True
dtype: bool
и использовать boolean indexing
:
print (df[~(df==0).any(axis=1)])
Name Fruit Total
1 Bob Apple 15
2 Cindy Grapes 27
3 Grant Orange 37
Если фильтрация только на основе столбца 'Total', вы можете сделать:' ФР [df.Total ! = 0] ' – Psidom