2017-07-25 1 views
1

J'ai une trame de données créée avec Pandas qui contient des nombres. J'ai besoin de vérifier si les valeurs que j'extrais de cette trame de données sont des zéros ou des zéros. Donc, je suis en train de ce qui suit:Comment vérifier si la valeur Pandas est nulle ou nulle en utilisant Python

a = df.ix[[0], ['Column Title']].values 
if a != 0 or not math.isnan(float(a)): 
    print "It is neither a zero nor null" 

Bien qu'il ne semble fonctionner, parfois je reçois l'erreur suivante:

TypeError: don't know how to convert scalar number to float 

Qu'est-ce que je fais mal?

+0

Veuillez inclure la valeur de 'a' qui provoque l'erreur. – DyZ

+2

Cela ressemble à un [problème XY] (https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem), s'il vous plaît poster ce que vous voulez accomplir. – Psidom

+0

Je suis incroyablement nouveau pour les pandas, donc je peux me tromper complètement ici, mais pour extraire les valeurs non nulles, ne pourriez-vous pas faire df [df ['Titre colonne'] n'est pas None] '? –

Répondre

4

votre code pour extraire une valeur unique à partir d'une série sera de retour la liste des formats de liste avec une valeur unique:

Par exemple: [[1]]

alors essayez de changer votre code

a = df.ix[[0], ['Column Title']].values 

à

a = df.ix[0, 'Column Title'] 

essayez

math.isnan(float(a)) 

cela fonctionnera !!

+0

'ix' est déprécié en 0,20. Utilisez 'iloc' pour l'adressage par index ou' loc' dans le cas contraire. –