genre counts in SQL
This commit is contained in:
14
main.py
14
main.py
@@ -28,14 +28,18 @@ def fetch_titles_and_genres(engine: Engine) -> pd.DataFrame:
|
||||
query = """SELECT title, genres FROM audiobookshelf.ao3;"""
|
||||
return run_query(engine, query)
|
||||
|
||||
def count_genre_occurrences(data: pd.DataFrame, column: str = "genres") -> pd.Series:
|
||||
"""Count how many times each genre appears across all titles."""
|
||||
return data.explode(column)[column].value_counts()
|
||||
def count_genre_occurrences(engine: Engine) -> pd.DataFrame:
|
||||
"""Count how many times each genre appears across all titles in SQL before returning."""
|
||||
query = """SELECT genre, COUNT(*)
|
||||
FROM audiobookshelf.ao3, unnest(genres) AS genre
|
||||
GROUP BY genre
|
||||
ORDER BY COUNT(*) DESC;"""
|
||||
return run_query(engine, query)
|
||||
|
||||
def main():
|
||||
engine = get_engine()
|
||||
data = fetch_titles_and_genres(engine)
|
||||
genre_counts = count_genre_occurrences(data)
|
||||
#data = fetch_titles_and_genres(engine)
|
||||
genre_counts = count_genre_occurrences(engine)
|
||||
print(genre_counts)
|
||||
# print(data.head())
|
||||
|
||||
|
||||
Reference in New Issue
Block a user