web-dev-qa-db-fra.com

Python pandas vérifie si le cadre de données n'est pas vide

J'ai if déclaration où il vérifie si dataframe n'est pas vide. La façon dont je le fais est:

 if dataframe.empty:
      pass
 else:
      #do something

Mais vraiment j'ai besoin de:

 if dataframe is not empty:
      #do something

Ma question est-il une méthode pas vide pour y parvenir? Je voulais aussi demander si la deuxième version est meilleure en termes de performances? Sinon, il est peut-être judicieux de le laisser tel quel, dans sa première version.

43
Arthur Zangiev

Il suffit de faire

if not dataframe.empty:
     // insert code here

Cela fonctionne parce que dataframe.empty renvoie True si la structure de données est vide. Pour inverser cela, nous pouvons utiliser l'opérateur de négation not, qui retourne True à False et vice-versa.

Ceci est exactement identique à la façon dont ! fonctionne dans d'autres langues: vous pouvez faire !false et qui évaluent true dans Java et C++. La même chose se produit ici, mais avec not plutôt que !.

53
Akshat Mahajan

Vous pouvez utiliser l'attribut dataframe.empty pour vérifier si c'est vide ou pas:

if not dataframe.empty:
    #do something

Ou

if len(dataframe) != 0:
   #do something

Ou

if len(dataframe.index) != 0:
   #do something
7
Rajarshi Das

.empty renvoie une valeur booléenne

>>> df_empty.empty
True

Donc, si non vide peut être écrit comme

if not df.empty:
    #Your code

Vérifiez pandas.DataFrame.empty , pourrait aider quelqu'un.

6
Santhosh