У меня есть Pandas DataFrame (tmdb_df) с данными о фильмах (из TMDB). В одном из столбцов, «жанр», есть список жанров, применимых к этому фильму, разделенных знаком «|». DataFrame также содержит доход, популярность, рейтинги и т. Д. Я хочу иметь возможность просматривать эти показатели по жанрам.
Пример tmdb_df['genres'].head()
:
0 Action|Adventure|Science Fiction|Thriller
1 Action|Adventure|Science Fiction|Thriller
2 Adventure|Science Fiction|Thriller
3 Action|Adventure|Science Fiction|Fantasy
4 Action|Crime|Thriller
Я начал с создания нового DataFrame со всеми уникальными жанрами.
Код:
all_genres = tmdb_df['genres'].str.split("|", expand=True)
all_genres.rename(columns=lambda x: "col" + str(x+1), inplace=True)
unique_genres = pd.DataFrame({'genres': pd.unique(all_genres[['col1', 'col2','col3', 'col4','col5']].values.ravel('K'))})
unique_genres.sort_values('genres', inplace=True)
unique_genres.reset_index(inplace=True)
unique_genres.drop(columns='index', inplace=True)
unique_genres.head()
Выход:
genres
0 Action
1 Adventure
2 Animation
3 Comedy
4 Crime
Теперь я хотел бы сделать некоторую сводную статистику, чтобы узнать, как часто встречается каждый жанр, средние рейтинги и т. Д. Я знаю, что мне нужно сравнить значения в обоих фреймах данных, но я не могу этого сделать. Я пробовал различные циклы, но получаю ошибки.
Пример:
for row in tmdb_df.itertuples():
if unique_genres['genres'].str.contains(row[14]):
print("true")
Ошибка:
ValueError: Значение истинности Серии неоднозначно. Используйте a.empty, a.bool (), a.item (), a.any () или a.all ().
Стек очень помог мне в этом, но я застрял на этом этапе. Заранее благодарю за помощь!
Редактировать: Вот полный кадр данных tmdb_df, если это поможет.
+---+--------+-----------+------------+-----------+------------+------------------------------+---------------------------------------------------+---------------------------------------------------+------------------+-------------------------------+-----+---------------------------------------------------+---------+-------------------------------------------+---------------------------------------------------+--------------+------------+--------------+--------------+-------------+--------------+
| | id | imdb_id | popularity | budget | revenue | original_title | cast | homepage | director | tagline | ... | overview | runtime | genres | production_companies | release_date | vote_count | vote_average | release_year | budget_adj | revenue_adj |
+---+--------+-----------+------------+-----------+------------+------------------------------+---------------------------------------------------+---------------------------------------------------+------------------+-------------------------------+-----+---------------------------------------------------+---------+-------------------------------------------+---------------------------------------------------+--------------+------------+--------------+--------------+-------------+--------------+
| 0 | 135397 | tt0369610 | 32.985763 | 150000000 | 1513528810 | Jurassic World | Chris Pratt|Bryce Dallas Howard|Irrfan Khan|Vi... | http://www.jurassicworld.com/ | Colin Trevorrow | The park is open. | ... | Twenty-two years after the events of Jurassic ... | 124 | Action|Adventure|Science Fiction|Thriller | Universal Studios|Amblin Entertainment|Legenda... | 6/09/15 | 5562 | 6.5 | 2015 | 137999939.3 | 1.392446e+09 |
| 1 | 76341 | tt1392190 | 28.419936 | 150000000 | 378436354 | Mad Max: Fury Road | Tom Hardy|Charlize Theron|Hugh Keays-Byrne|Nic... | http://www.madmaxmovie.com/ | George Miller | What a Lovely Day. | ... | An apocalyptic story set in the furthest reach... | 120 | Action|Adventure|Science Fiction|Thriller | Village Roadshow Pictures|Kennedy Miller Produ... | 5/13/15 | 6185 | 7.1 | 2015 | 137999939.3 | 3.481613e+08 |
| 2 | 262500 | tt2908446 | 13.112507 | 110000000 | 295238201 | Insurgent | Shailene Woodley|Theo James|Kate Winslet|Ansel... | http://www.thedivergentseries.movie/#insurgent | Robert Schwentke | One Choice Can Destroy You | ... | Beatrice Prior must confront her inner demons ... | 119 | Adventure|Science Fiction|Thriller | Summit Entertainment|Mandeville Films|Red Wago... | 3/18/15 | 2480 | 6.3 | 2015 | 101199955.5 | 2.716190e+08 |
| 3 | 140607 | tt2488496 | 11.173104 | 200000000 | 2068178225 | Star Wars: The Force Awakens | Harrison Ford|Mark Hamill|Carrie Fisher|Adam D... | http://www.starwars.com/films/star-wars-episod... | J.J. Abrams | Every generation has a story. | ... | Thirty years after defeating the Galactic Empi... | 136 | Action|Adventure|Science Fiction|Fantasy | Lucasfilm|Truenorth Productions|Bad Robot | 12/15/15 | 5292 | 7.5 | 2015 | 183999919.0 | 1.902723e+09 |
| 4 | 168259 | tt2820852 | 9.335014 | 190000000 | 1506249360 | Furious 7 | Vin Diesel|Paul Walker|Jason Statham|Michelle ... | http://www.furious7.com/ | James Wan | Vengeance Hits Home | ... | Deckard Shaw seeks revenge against Dominic Tor... | 137 | Action|Crime|Thriller | Universal Pictures|Original Film|Media Rights ... | 4/01/15 | 2947 | 7.3 | 2015 | 174799923.1 | 1.385749e+09 |
+---+--------+-----------+------------+-----------+------------+------------------------------+---------------------------------------------------+---------------------------------------------------+------------------+-------------------------------+-----+---------------------------------------------------+---------+-------------------------------------------+---------------------------------------------------+--------------+------------+--------------+--------------+-------------+--------------+