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;"""
|
query = """SELECT title, genres FROM audiobookshelf.ao3;"""
|
||||||
return run_query(engine, query)
|
return run_query(engine, query)
|
||||||
|
|
||||||
def count_genre_occurrences(data: pd.DataFrame, column: str = "genres") -> pd.Series:
|
def count_genre_occurrences(engine: Engine) -> pd.DataFrame:
|
||||||
"""Count how many times each genre appears across all titles."""
|
"""Count how many times each genre appears across all titles in SQL before returning."""
|
||||||
return data.explode(column)[column].value_counts()
|
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():
|
def main():
|
||||||
engine = get_engine()
|
engine = get_engine()
|
||||||
data = fetch_titles_and_genres(engine)
|
#data = fetch_titles_and_genres(engine)
|
||||||
genre_counts = count_genre_occurrences(data)
|
genre_counts = count_genre_occurrences(engine)
|
||||||
print(genre_counts)
|
print(genre_counts)
|
||||||
# print(data.head())
|
# print(data.head())
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user