我有一个演员和导演的数据集,以及他们合作的电影的受欢迎程度。你知道吗
print (actors_director_df.head(3))
actor director popularity counter
0 Chris Pratt Colin Trevorrow 32.985763 0
1 Bryce Dallas Howard Colin Trevorrow 32.985763 0
2 Irrfan Khan Colin Trevorrow 32.985763 0
我想用演员和导演来分组,因为一对演员可以在多部电影中工作。我成功地使用了下面的查询。你知道吗
actor_director_grouped = actors_director_df.groupby(['actor','director']) \
.size() \
.reset_index(name='count') \
.sort_values(['count'], ascending=False) \
.head(10)
print (actor_director_grouped)
actor director count
3619 Clint Eastwood Clint Eastwood 14
19272 Woody Allen Woody Allen 12
9606 Johnny Depp Tim Burton 8
但是在这个DF中,popularity列不见了。你知道吗
我想做的是在groupby之后做一个平均人气专栏,在演员和导演面前展示平均人气以及他们一起拍的电影数量。你知道吗
也就是说,我的理想输出应该是这样的。你知道吗
actor director popularity count
3619 Clint Eastwood Clint Eastwood 32.985763 14
19272 Woody Allen Woody Allen 5.1231231 12
9606 Johnny Depp Tim Burton 3.1231231 8
查看数据帧
counter
列似乎没有必要。让我们改为使用流行列并创建一个mean
和一个count
列:退货:
我冒昧地添加了一些伪数据,这将有助于更好地理解
groupby
子句。你知道吗输出:
然后您需要在
actor
和director
上groupby
,然后为popularity
找到mean
,为count
找到sum
。你知道吗输出:
相关问题 更多 >
编程相关推荐