在'中处理空数据帧。条件

时间:2017-01-22 23:22:39

标签: python python-2.7 pandas

我正在从网站下载一些数据并将其存储为pandas数据帧。在此之后,我将数据框的一列与“条件”中的某些值进行比较:

       crest=float(crest_day.Crest)
       if (crest>=Response_record):
          print ("It's record flood")
       elif(crest>=Response_major):
          print ("Flood_Response=Major Flood Stage")
       else:
          print("No Flood") 

如果网站返回空数据框时,这不起作用,表示网站没有特定日期的数据,因此' crest_day'变为空。我的程序开始抛出错误如下:

       TypeError: cannot convert the series to <type 'float'>

&#39; Response_record&#39; &安培; &#39; Response_major&#39;变量是浮点数。

我还尝试了很多其他方法,比如pd.to_numeric和astype(float)来转换&#39; crest_day.Crest&#39;漂浮但没有效果。 crest_day有两列&#39;日期&#39;和&#39; Crest&#39;

2 个答案:

答案 0 :(得分:0)

准备数据帧时使用fillna()函数。假设您有一个数据帧波峰,有时候是空的。用于比较创建数据帧如下:

new_crest=crest.fillna(0)
if (new_crest.Crest>=Response_record)
    print ("It's record flood")

答案 1 :(得分:0)

在这种情况下试试这个:

   if ((len(crest)>0)&(crest>=Response_record)):
      print ("It's record flood")
   elif((len(crest)>0)&(crest>=Response_major)):
      print ("Flood_Response=Major Flood Stage")
   else:
      print("No Flood")