Análise Exploratória¶
visualization¶
- Módulo de Visualização
Esse módulo contém funções responsáveis por gerar gráficos a partir da análise de dataframes sobre musicas em um formato específico. O formato do dataframe deve ser igual ao gerado pelo módulo database nesse mesmo repositório e lido pela função create_dataframe no arquivo principal (main.py).
- visualization.albuns_awards_plot(dataframe)¶
Recebe um dataframe e cria e plota um gráfico de barras para a quantidade de prêmios dos álbuns mais premiados.
- Parameters
dataframe (pandas.core.frame.DataFrame) – DataFrame com a coluna
Awards.- Returns
Gráfico de barras para a quantidade de prêmios dos álbuns mais premiados em uma pasta separada
- Return type
None
- visualization.common_words_by_album_plot(dataframe)¶
Recebe um dataframe e cria uma nuvem de palavras com as palavras mais comuns nos títulos dos álbuns.
- Parameters
dataframe (pandas.core.frame.DataFrame) – DataFrame com a coluna
Album Name.- Returns
Nuvem de palavras com as palavras mais comuns nos títulos dos álbuns.
- Return type
None
- visualization.common_words_by_lyrics_plot(dataframe)¶
Recebe um dataframe e cria uma nuvem de palavras com as palavras mais comuns nas músicas.
- Parameters
dataframe (pandas.core.frame.DataFrame) – DataFrame com a coluna
Track Lyrics.- Returns
Nuvem de palavras com as palavras mais comuns nas músicas.
- Return type
None
- visualization.common_words_by_song_plot(dataframe)¶
Recebe um dataframe e cria uma nuvem de palavras com as palavras mais comuns nos títulos das faixas.
- Parameters
dataframe (pandas.core.frame.DataFrame) – DataFrame com a coluna
Track Name.- Returns
Nuvem de palavras com as palavras mais comuns nos títulos das faixas.
- Return type
None
- visualization.duration_popularity_plot(dataframe)¶
Recebe um dataframe e cria e plota um scatterplot que associa duração e popularidade.
- Parameters
dataframe (pandas.core.frame.DataFrame) – DataFrame com com a coluna
Duration SecondsePopularity- Returns
Scatterplot que associa duração e popularidade em uma pasta separada.
- Return type
None
- visualization.least_listened_by_album_plot(dataframe)¶
Recebe um dataframe e cria e plota um gráfico de barras para a popularidade das músicas menos ouvidas por álbum.
- Parameters
dataframe (pandas.core.frame.DataFrame) – DataFrame com
Album Namecomo parte do multi index e com a colunaPopularity.- Returns
Gráfico de barras para a popularidade das músicas menos ouvidas por álbum em uma pasta separada.
- Return type
None
- visualization.least_listened_plot(dataframe)¶
Recebe um dataframe e cria e plota um gráfico de barras para a popularidade das músicas menos ouvidas.
- Parameters
dataframe (pandas.core.frame.DataFrame) – DataFrame com coluna
Popularity.- Returns
Gráfico de barras para a popularidade das músicas menos ouvidas em uma pasta separada.
- Return type
None
- visualization.longest_by_album_plot(dataframe)¶
Recebe um dataframe e cria e plota um gráfico de barras para a duração das músicas mais longas por álbum
- Parameters
dataframe (pandas.core.frame.DataFrame) – DataFrame com
Album Namecomo parte do multi index e com a colunaDuration.- Returns
Gráfico de barras para a popularidade das músicas menos ouvidas por álbum em uma pasta separada.
- Return type
None
- visualization.longest_plot(dataframe)¶
Recebe um dataframe e cria e plota um gráfico de barras para a duração das músicas mais longas.
- Parameters
dataframe (pandas.core.frame.DataFrame) – DataFrame com coluna
Duration.- Returns
Gráfico de barras para a duração das músicas mais longas em uma pasta separada
- Return type
None
- visualization.most_listened_by_album_plot(dataframe)¶
Recebe um dataframe e cria e plota um gráfico de barras para a popularidade das músicas mais ouvidas por álbum.
- Parameters
dataframe (pandas.core.frame.DataFrame) – DataFrame com
Album Namecomo parte do multi index e com a colunaPopularity.- Returns
Gráfico de barras para a popularidade das músicas mais ouvidas por álbum em uma pasta separada.
- Return type
None
- visualization.most_listened_plot(dataframe)¶
Recebe um dataframe e cria e plota um gráfico de barras para a popularidade das músicas mais ouvidas.
- Parameters
dataframe (pandas.core.frame.DataFrame) – DataFrame com coluna
Popularity.- Returns
Gráfico de barras para a popularidade das músicas mais ouvidas em uma pasta separada.
- Return type
None
- visualization.shortest_by_album_plot(dataframe)¶
Recebe um dataframe e cria e plota um gráfico de barras para a duração das músicas mais curtas por álbum.
- Parameters
dataframe (pandas.core.frame.DataFrame) – DataFrame com
Album Namecomo parte do multi index e com a colunaDuration.- Returns
Gráfico de barras para a duração das músicas mais curtas por álbum em uma pasta separada.
- Return type
None
- visualization.shortest_plot(dataframe)¶
Recebe um dataframe e cria e plota um gráfico de barras para a duração das músicas mais curtas.
- Parameters
dataframe (pandas.core.frame.DataFrame) – DataFrame com coluna
Duration.- Returns
Gráfico de barras para a duração das músicas mais curtas em uma pasta separada.
- Return type
None
exploratory_analysis¶
Módulo de análise exploratória
Esse módulo contém funções responsáveis por responder perguntas a partir da análise de dataframes em um formato específico. O formato do dataframe deve ser igual ao gerado pelo módulo database nesse mesmo repositório e lido pela função create_dataframe.
- exploratory_analysis.album_in_lyrics(dataframe)¶
Recebe um dataframe e retorna os 3 álbuns que mais aparecem nas letras das músicas.
- Parameters
dataframe (pandas.core.frame.DataFrame) – Dataframe com
Album Namecomo parte do multi index e com a colunaTrack Lyrics.- Returns
Dataframe com os 3 álbuns que mais aparecem nas letras das músicas.
- Return type
pandas.core.frame.DataFrame
- Note
Se alguma coluna estiver vazia, análise será afetada e será informado pelo console!
- exploratory_analysis.albuns_awards(dataframe)¶
Recebe um dataframe no formato pandas e retorna um dataframe com as 3 álbuns mais premiados e suas quantidades de prêmios.
- Parameters
dataframe (pandas.core.frame.DataFrame) – DataFrame com multi index e com coluna
Awards.- Returns
Dataframe com os álbuns mais premiados e a quantidade de prêmios recebidos.
- Return type
pandas.core.frame.DataFrame
- Note
Se alguma coluna estiver vazia, análise será afetada e será informado pelo console!
- exploratory_analysis.common_gender(dataframe)¶
Recebe um dataframe e retorna uma lista com tuplas contendo os gêneros mais frequentes e suas respectivas frequências na discografia (quantos álbuns possuem determinado gênero ).
- Parameters
dataframe (pandas.core.frame.DataFrame) – Dataframe com coluna
Genre.- Returns
Lista que contém 3 tuplas para representar os 3 gêneros mais frequêntes e suas frequências.
- Return type
list
- Note
Se alguma coluna estiver vazia, análise será afetada e será informado pelo console!
- exploratory_analysis.common_words_by_album(dataframe)¶
Recebe um dataframe e retorna as 50 palavras mais comuns nos títulos dos álbuns.
- Parameters
dataframe (pandas.core.frame.DataFrame) – Dataframe com multi index.
- Returns
Lista com tuplas contendo as palavras mais comuns nos títulos dos álbuns e suas frequências.
- Return type
list
- Note
Se alguma coluna estiver vazia, análise será afetada e será informado pelo console!
- exploratory_analysis.common_words_by_lyrics(dataframe)¶
Recebe um dataframe e retorna as 50 palavras mais comuns nas letras das músicas.
- Parameters
dataframe (pandas.core.frame.DataFrame) – Dataframe com multi index.
- Returns
Lista com tuplas contendo as palavras mais comuns nas letras das músicas e suas frequências.
- Return type
list
- Note
Se alguma coluna estiver vazia, análise será afetada e será informado pelo console!
- exploratory_analysis.common_words_by_song(dataframe)¶
Recebe um dataframe e retorna as 50 palavras mais comuns nos títulos das músicas.
- Parameters
dataframe (pandas.core.frame.DataFrame) – Dataframe com multi index.
- Returns
Lista com tuplas contendo as palavras mais comuns nos títulos das músicas e suas frequências.
- Return type
list
- Note
Se alguma coluna estiver vazia, análise será afetada e será informado pelo console!
- exploratory_analysis.common_words_lyrics_album(dataframe)¶
Recebe um dataframe e retorna as 50 palavras mais comuns nas letras das músicas de cada álbum.
- Parameters
dataframe (pandas.core.frame.DataFrame) – Dataframe com
Album Namecomo parte do multi index e com a colunaTrack Lyrics.- Returns
Série com as 50 palavras mais comuns nas letras das músicas de cada álbum.
- Return type
pandas.core.series.Series
- Note
Se alguma coluna estiver vazia, análise será afetada e será informado pelo console!
- exploratory_analysis.duration_popularity(dataframe)¶
Recebe um dataframe no formato pandas e retorna um float com a correlação de pearson entre duração e popularidade.
- Parameters
dataframe (pandas.core.frame.DataFrame) – Dataframe com as colunas
Duration SecondsePopularity.- Returns
Correlação de pearson entre as colunas Duration Seconds e Popularity.
- Return type
numpy.float64
- Note
Se alguma coluna estiver vazia, análise será afetada e será informado pelo console!
- exploratory_analysis.explicit_popularity(dataframe)¶
Recebe um dataframe e retorna a popularidade média de músicas explícitas e não explícitas.
- Parameters
dataframe (pandas.core.frame.DataFrame) – Dataframe com colunas
ExplicitePopularity.- Returns
Dataframe com as popularidades médias das músicas explícitas e não explícitas.
- Return type
pandas.core.frame.DataFrame
- Note
Se alguma coluna estiver vazia, análise será afetada e será informado pelo console!
- exploratory_analysis.least_listened(dataframe)¶
Recebe um dataframe e o retorna com um filtro para indicar as 3 músicas menos ouvidas.
- Parameters
dataframe (pandas.core.frame.DataFrame) – DataFrame com coluna
Popularity.- Returns
DataFrame com as 3 músicas menos ouvidas, caso haja mais músicas com a mesma popularidade, todas serão retornadas..
- Return type
pandas.core.frame.DataFrame
- Note
Se alguma coluna estiver vazia, análise será afetada e será informado pelo console!
- exploratory_analysis.least_listened_by_album(dataframe)¶
Recebe um dataframe e o retorna com um filtro para indicar as 3 músicas menos ouvidas por álbum.
- Parameters
dataframe (pandas.core.frame.DataFrame) – DataFrame com
Album Namecomo parte do multi index e com colunaPopularity.- Returns
DataFrame com as 3 músicas menos ouvidas por álbum, caso haja mais músicas com a mesma popularidade, todas serão retornadas.
- Return type
pandas.core.frame.DataFrame
- Note
Se alguma coluna estiver vazia, análise será afetada e será informado pelo console!
- exploratory_analysis.longest(dataframe)¶
Recebe um dataframe no formato pandas e retorna um dataframe com as 3 músicas mais longas.
- Parameters
dataframe (pandas.core.frame.DataFrame) – DataFrame com coluna
Duration Seconds.- Returns
DataFrame com 3 músicas mais longas, caso haja mais músicas com a mesma duração, todas serão retornadas.
- Return type
pandas.core.frame.DataFrame
- Note
Se alguma coluna estiver vazia, análise será afetada e será informado pelo console!
- exploratory_analysis.longest_by_album(dataframe)¶
Recebe um dataframe e o retorna com um filtro para indicar as 3 músicas mais longas por álbum. :param dataframe: DataFrame com
Album Namecomo parte do multi index e com colunaDuration. :type dataframe: pandas.core.frame.DataFrame :return: DataFrame com as 3 músicas mais longas por álbum, caso haja mais músicas com a mesma duração, todas serão retornadas. :rtype: pandas.core.frame.DataFrame- Note
Se alguma coluna estiver vazia, análise será afetada e será informado pelo console!
- exploratory_analysis.most_listened(dataframe)¶
Recebe um dataframe e o retorna com um filtro para indicar as 3 músicas mais ouvidas.
- Parameters
dataframe (pandas.core.frame.DataFrame) – DataFrame com coluna
Popularity.- Returns
DataFrame com as 3 músicas mais ouvidas, caso haja mais músicas com a mesma popularidade, todas serão retornadas.
- Return type
pandas.core.frame.DataFrame
- Note
Se alguma coluna estiver vazia, análise será afetada e será informado pelo console!
- exploratory_analysis.most_listened_by_album(dataframe)¶
Recebe um dataframe e o retorna com um filtro para indicar as 3 músicas mais ouvidas por álbum. :param dataframe: DataFrame com
Album Namecomo parte do multi index e com colunaPopularity. :type dataframe: pandas.core.frame.DataFrame :return: DataFrame com as 3 músicas mais ouvidas por álbum, caso haja mais músicas com a mesma popularidade, todas serão retornadas. :rtype: pandas.core.frame.DataFrame- Note
Se alguma coluna estiver vazia, análise será afetada e será informado pelo console!
- exploratory_analysis.most_popular_album(dataframe)¶
Recebe um dataframe e retorna o álbum mais popular com base na popularidade média de suas músicas.
- Parameters
dataframe (pandas.core.frame.DataFrame) – Dataframe com
Albumno multi index e com colunaPopularity.- Returns
Dataframe com os álbuns mais populares e suas popularidades.
- Return type
pandas.core.frame.DataFrame
- Note
Se alguma coluna estiver vazia, análise será afetada e será informado pelo console!
- exploratory_analysis.remove_stop_words(word_list)¶
Remove de uma lista de palavras, palavras pouco significativas da língua inglesa. :param word_list: Lista com palavras a serem analisadas :type word_list: list :return: Lista com palavras já filtradas :rtype: list
- exploratory_analysis.shortest(dataframe)¶
Recebe um dataframe no formato pandas e retorna um dataframe com as 3 músicas mais curtas.
- Parameters
dataframe (pandas.core.frame.DataFrame) – DataFrame com coluna
Duration Seconds.- Returns
DataFrame com 3 músicas mais curtas, caso haja mais músicas com a mesma duração, todas serão retornadas.
- Return type
pandas.core.frame.DataFrame
- Note
Se alguma coluna estiver vazia, análise será afetada e será informado pelo console!
- exploratory_analysis.shortest_by_album(dataframe)¶
Recebe um dataframe e o retorna com um filtro para indicar as 3 músicas mais curtas por álbum. :param dataframe: DataFrame com
Album Namecomo parte do multi index e com colunaDuration Seconds. :type dataframe: pandas.core.frame.DataFrame :return: DataFrame com as 3 músicas mais curtas por álbum, caso haja mais músicas com a mesma popularidade, todas serão retornadas. :rtype: pandas.core.frame.DataFrame- Note
Se alguma coluna estiver vazia, análise será afetada e será informado pelo console!
- exploratory_analysis.song_in_lyrics(dataframe)¶
Recebe um dataframe e retorna as 3 canções que mais aparecem nas letras das músicas.
- Parameters
dataframe (pandas.core.frame.DataFrame) – Dataframe com
Track Namecomo parte do multi index e com a colunaTrack Lyrics.- Returns
Dataframe com as 3 músicas que mais aparecem nas letras das músicas.
- Return type
pandas.core.frame.DataFrame
- Note
Se alguma coluna estiver vazia, análise será afetada e será informado pelo console!
- exploratory_analysis.unique_values(array)¶
Recebe uma lista com algumas strings contendo itens separados por
/e retorna um array com valores únicos dos itens.- Parameters
array (list) – Lista com alguns itens sendo palavras separadas por
/.- Returns
Array com todas as palavras contidas no array de input, incluindo as separadas por
/. Toda palavra só aparecerá uma única vez.- Return type
np.ndarray
- Note
Se alguma coluna estiver vazia, análise será afetada e será informado pelo console!
dataframe_reader¶
Módulo de leitura do csv e criação do dataframe Nesse módulo estão contidas as funções que validam arquivos csv garantindo que eles contenham todas as informações para a ánalise de dados, caso eles estejam de acordo com o estabelecido, é criado um dataframe no formato exigido.
- dataframe_reader.add_awards(original_dataframe, path_album_awards)¶
Recebe um dataframe com todas as colunas necessárias para a análise e recebe o caminho para um arquivo csv com duas colunas:
Album NameeAwards, que contém os álbuns premiados e seus respectivos prêmios.- Parameters
original_dataframe (pandas.core.frame.DataFrame) – Dataframe com colunas necessárias para a análise exploratória
path_album_awards (str) – Arquivo
.csvcom os álbuns e seus prêmios.
- Returns
Dataframe com as informações do primeiro parâmetro da função acrescido de uma coluna
Awardscom os prêmios dos álbuns.- Return type
pandas.core.frame.DataFrame
- dataframe_reader.create_final_dataframe(dataframe)¶
Modifica um dataframe para que ele possua um multi index a partir das colunas pedidas:
Album NameeTrack Namee para que exista uma nova coluna chamadaDuration Seconds.- Parameters
dataframe (pandas.core.frame.DataFrame) – Dataframe com todas as informações necessárias e sem multi index
- Returns
Dataframe com todas as informações do dataframe utilizado como parâmetro da função e com multi index composto por:
Album NameeTrack Name, respectivamente. Também adiciona a colunaDuration Seconds.- Return type
pandas.core.frame.DataFrame
- dataframe_reader.is_valid(path_artist_info)¶
Essa função checa se o caminho fornecido para um arquivo csv é válido e se esse arquivo possui todas as colunas necessárias para a análise de dados. Caso todos os requisitos sejam atendidos, a função retorna um dataframe com as informações do arquivo
- Parameters
path_artist_info (str) – Arquivo
.csvcom as informações do artista- Raises
KeyError – Levanta um
KeyErrorcaso alguma coluna exigida não seja encontrada- Returns
Retorna um dataframe com as informações do arquivo .csv caso o arquivo cumpra as exigências.
- Return type
pandas.core.frame.DataFrame
- dataframe_reader.time_to_seconds(object)¶
Essa função converte um objeto no formato
mm:sse o transforma para tempo em segundos.- Parameters
object (object (pandas)) – Objeto presente em uma coluna dataframe formatado como
mm:ssque representa a duração da música- Returns
Objeto convertido para int, representando a duração da música em segundos.
- Return type
int