我有一张桌子,上面放着一些IMDB电影(电影名称,等级,年份)。我想计算20世纪和21世纪所有电影的平均评分。
table_20th = imdb.where("Year",are.below(2000))
table_21th = imdb.where("Year",are.above_or_equal_to(2000))
rating_20th = table_20th.select("Rating")
rating_21th = table_21th.select("Rating")
average_20th_century_rating = float(np.average(rating_20th.column(0)))
average_21th_century_rating = float(np.average(rating_21th.column(0)))
print("Type 20th", type(average_20th_century_rating))
print("Type 21st", type(average_21th_century_rating))
print("Average 20th century rating:", average_20th_century_rating)
print("Average 21st century rating:", average_21st_century_rating)
print(abs(average_20th_century_rating - 8.2783625730994146) < 1e-5)
print(abs(average_21st_century_rating - 8.2379746835443033) < 1e-5)
20世纪电影的abs()起作用,但21世纪电影的abs引发类型错误。但是所有abs()参数都是浮点数。
产生以下输出
Type 20th <class 'float'>
Type 21st <class 'float'>
Average 20th century rating: 8.278362573099415
Average 21st century rating: Rating
8.23797
True
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-136-bc0060cc4666> in <module>()
20
21 print(abs(average_20th_century_rating - 8.2783625730994146) < 1e-5)
---> 22 print(abs(average_21st_century_rating - 8.2379746835443033) < 1e-5)
TypeError: unsupported operand type(s) for -: 'Table' and 'float'
有人可以给我一个提示吗?
检查的最后两个用法average_21th_century_rating
。他们被错误地写成average_21st_century_rating
绝对不是浮点数,而是一个type类Rating
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句