Python pymongo get nan上具有平均值的聚合查询
我对pymongo聚合查询中的Average函数有一个问题 我有一个这样的结构:Python pymongo get nan上具有平均值的聚合查询,python,mongodb,aggregation-framework,pymongo,Python,Mongodb,Aggregation Framework,Pymongo,我对pymongo聚合查询中的Average函数有一个问题 我有一个这样的结构: {'_id': ObjectId('5afd9c675e3a1f0e9b830510'), 'actor_gender': 'NaN', 'actor_id': 'NaN', 'actor_last_name': 'Safary', 'actor_name': 'Darsheel', 'actor_role': 'NaN', 'director_id': 'NaN', 'director
{'_id': ObjectId('5afd9c675e3a1f0e9b830510'),
'actor_gender': 'NaN',
'actor_id': 'NaN',
'actor_last_name': 'Safary',
'actor_name': 'Darsheel',
'actor_role': 'NaN',
'director_id': 'NaN',
'director_last_name': 'Khan',
'director_name': 'Aamir',
'movie_genre': 'Drama',
'movie_name': 'Taare Zameen Par',
'movie_rank': 8.5,
'movie_year': 2007}
当我计算此查询时:
coll.aggregate([{"$group":{"_id":{"movie_genre":"Drama"},
"avg":{"$avg":"$movie_rank"}}}])
我平均得到这个nan
:
{'_id': {'movie_genre': 'Drama'}, 'avg': nan}
具有nan值的Mongodb聚合将nan作为输出()
“电影排名”字段中一定有一些nan值。所有“电影排名”的值都是有效的数字吗?是的,电影排名值中没有nan。根据样本输入,问题不可再现。感谢您的快速回答,但我尝试了两部同时具有“电影排名”字段且没有nan的电影,我总是得到平均值:nan,太奇怪了。我认为错误在查询中,您已经在_id字段中进行了筛选。您是否尝试过使用$match筛选数据。类似这样的事情([{$match:{'movie_general:'traic'},{“$group”:{“{”\u id:“$movie_general',“avg”:{“$avg”:“$movie_rank”}}}