Как применить функцию assert к столбцу фрейма данных? - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть датафрейм с именем df2. Я пытаюсь применить функцию assert к имени столбца pop95 и pdenpavg.

Когда я применяю функцию, она выдает мне следующую ошибку

assert df2[(df2['pop95']>0)]


---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-133-4347947eb86c> in <module>
      1 #Asserting for negative value
      2 
----> 3 assert df2[(df2['pop95']>0)]

~\Anaconda3\lib\site-packages\pandas\core\generic.py in __nonzero__(self)
   1553             "The truth value of a {0} is ambiguous. "
   1554             "Use a.empty, a.bool(), a.item(), a.any() or a.all().".format(
-> 1555                 self.__class__.__name__
   1556             )
   1557         )

ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

1 Ответ

0 голосов
/ 06 ноября 2019

Попробуйте это

assert sum(df2["pop95"]<0) == 0, "There are some negative values"

В идеале, если нет отрицательного числа, сумма (df2 ["pop95"]) должна быть равна 0, в противном случае она будет равначисло в отрицательные значения в столбце.

...