这实际上是我上一个问题的跟进问题。
pandas: How to plot the pie diagram for the movie counts versus genre of IMDB movies in pandas?
在该问题中,我们绘制了电影的独特类型的数量。
我的问题是:如何在'budget'
中获得'genres'
与pandas
的图?
这是示例代码:
import pandas as pd
import numpy as np
%matplotlib inline
df = pd.DataFrame({'movie' : ['A', 'B','C','D'],
'budget': [1000, 2000, 3000, 4000],
'genres': ['Science Fiction|Romance|Family', 'Action|Romance',
'Family|Drama','Mystery|Science Fiction|Drama']},
index=range(4))
df
这里的流派Science Fiction|Romance|Family
实际上是三种不同的流派。
Science Fiction
出现在动机A
和B
中,因此类型Science Fiction
的预算应为1000+4000=5000
,依此类推。
答案 0 :(得分:2)
以下是您为每种类型绘制总预算的方法:
genres = (df.genres.str.split('|', expand=True)
.stack()
.to_frame(name='genre'))
genres.index = genres.index.droplevel(1)
因此genres
变为:
genre
0 Science Fiction
0 Romance
0 Family
1 Action
1 Romance
2 Family
2 Drama
3 Mystery
3 Science Fiction
3 Drama
现在执行加入和分组,首先获取预算信息,然后按类型求和:
(genres.join(df['budget'])
.groupby('genre')
.sum()
.plot(kind='bar'))
输出: