我有一個數據幀,它有2列:genre和release_year。每年都有多種流派。格式如下:Python:按多列分組的值線圖
genre release_year
Action 2015
Action 2015
Adventure 2015
Action 2015
Action 2015
我需要使用Pandas/Python繪製所有類型的變化。
df = pd.read('genres.csv')
df.shape
(53975, 2)
df_new = df.groupby(['release_year', 'genre'])['genre'].count()
這會導致以下分組。
release_year genre
1960 Action 8
Adventure 5
Comedy 8
Crime 2
Drama 13
Family 3
Fantasy 2
Foreign 1
History 5
Horror 7
Music 1
Romance 6
Science Fiction 3
Thriller 6
War 2
Western 6
1961 Action 7
Adventure 6
Animation 1
Comedy 10
Crime 2
Drama 16
Family 5
Fantasy 2
Foreign 1
History 3
Horror 3
Music 2
Mystery 1
Romance 7
...
我需要爲多年來流派特徵的變化繪製線圖。即我必須有一個循環,這可以幫助我繪製多年來的各種流派。例如,
df_action = df.query('genre == "Action"')
result_plot = df_action.groupby(['release_year','genre'])['genre'].count()
result_plot.plot(figsize=(10,10));
顯示類型「行動」的情節。同樣,而不是分別繪製每個流派我需要有一個相同的循環。
我該怎麼做?任何人都可以幫助我嗎?
我試過以下,但它不起作用。
genres = ["Action", "Adventure", "Western", "Science Fiction", "Drama",
"Family", "Comedy", "Crime", "Romance", "War", "Mystery",
"Thriller", "Fantasy", "History", "Animation", "Horror", "Music",
"Documentary", "TV Movie", "Foreign"]
for g in genres:
#df_new = df.query('genre == "g"')
result_plot = df.groupby(['release_year','genre'])['genre'].count()
result_plot.plot(figsize=(10,10));