Python pymongo get nan上具有平均值的聚合查询

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

我对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_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”}}}