Python类型错误问题TypeError:“Table”和“float”的操作数类型不受支持

2024-05-13 06:58:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有张桌子放了一些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()参数都是浮点型的。

产生以下输出

^{pr2}$

有人能给我个提示吗?


Tags: 电影tableabswhereselectyearareimdb