我正在从网站下载一些数据并将其存储为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;
答案 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")