sexta-feira, 24 de abril de 2015

[P8] Nascimentos e mortes por dia do ano


     Existem 122.069 nascimentos e mortes (86.975 nascimentos e 35.094 mortes) disponíveis publicamente na Wikipedia (dados atualizados até 31/12/2014). São informações de pessoas que a enciclopédia on-line pensa ser relevante, como políticos, artistas, músicos, arquitetos, enfim, pessoas que possuem entradas no site relatando algum acontecimento extraordinário em suas vidas. Veja por exemplo os dados do dia 1o. de Janeiro ou 31 de Dezembro (os nascimentos e mortes estão listados no final da página).

Dados

     A listagem a seguir mostra o primeiro e o último registro do arquivo para explicar seu cabeçalho:
Birth/Death;Date;Name,Observation
B;01/01/871;Zwentibold, Frankish son of Arnulf of Carinthia (d. 900)
...
D;31/12/2009;Justin Keating, Irish surgeon, and politician (b. 1930)

     O primeiro registro do arquivo é um nascimento (B, ou birth) e o último registro é uma morte (D, ou death). O arquivo mostra a data de nascimento/morte (formato DD/MM/AAAA) separando os dados por ';'. A ordem dos registros é por data, da menor para a maior.

     Um dos desafios ao se trabalhar com estes dados não dizem respeito à data de nascimento ou morte, mas sim a desestruturação existente quanto a observação que foi feita na página da Wikipedia (no arquivo, equivale ao campo Name,Observation). Por exemplo, existem muitas atividades realizadas pelas pessoas, o que dificulta a análise do arquivo, bem como o local de nascimento. As vezes, na morte, é indicada a data de nascimento e vice-versa e, às vezes, nada é informado.

Gentílicos e adjetivos pátrios

     Gentílicos e adjetivos pátrios são classes de palavras que indicam o local de nascimento ou morte de uma pessoa (para maiores informações, entre nesta página da Wikipedia). O arquivo com os nascimentos e mortes possuem uma série de denominações do país de nascimento e morte das pessoas relacionadas, então será útil para descobrir os países que fazem parte da listagem e suas quantidades (ambas as listagens estão em inglês). Os gentílicos e adjetivos pátrios, em inglês, são chamados de Demonym (http://en.wikipedia.org/wiki/Demonym).

Dados

     Existem três arquivos principais para baixar:
  • nascimentos-e-mortes.txt: listagem dos nascimentos e mortes obtidos da Wikipedia (em inglês)
  • gentilicos.txt: arquivo contendo os adjetivos pátrios (em inglês)
  • datas-comemorativas-brasil.txt: arquivo contendo todas as datas comemorativas (dias normais, ou seja, dias úteis) e os feriados oficiais do Brasil (em português)
     Cuidado: pode haver mais de um gentílico por país (por exemplo, Argentinian, Argentinean ou Argentine).
     Salve os arquivos neste link (2.35Mb).

Questões interessantes deste projeto
  1. Faça um relatório geral dos seguintes dados do arquivo:
    1. Por dia do ano, de 1/Janeiro a 31/Dezembro, quantos nascimentos e quantas mortes existem no arquivo (separe o total por tipo)?
    2. Qual é o dia que mais possui nascimentos e qual possui mais mortes? (dias mais férteis e dias mais sangrentos)
    3. Qual é o mês que mais possui nascimentos e qual possui mais mortes? Ordene do maior para o menor
    4. Qual dia possui menos nascimentos e qual possui menos mortes?
    5. Qual mês possui menos nascimentos e qual possui menos mortes?
    6. Qual é o percentual de nascimentos e mortes em relação ao total da listagem?
  2. Mostre o número total de pessoas nascidas conforme as seguintes profissões (liste o total por profissão): polititian, photographer, author, mathematician, actor, actress, singer, songwriter, poet, journalist, football player, baseball player, soccer player, tennis player, illustrator, boxer, comedian, screenwriter, composer, cyclist, geographer, activist
  3. Descubra o país de cada nascimento de cada pessoa do arquivo (utilize o arquivo auxiliar de gentílicos). Cuidado: às vezes, o país é duplo, por exemplo, English-American ou Indian-Bangladeshi
  4. Mostre a contagem de pessoas por país usando a listagem de gentílicos, ordenando da maior para a menor
  5. Mostre em uma listagem todos os nascimentos e mortes de pessoas nascidas nos Estados Unidos (American e derivados, por exemplo, Canadian-American ou Chinese-American) com profissão igual a actor ou actress, ordenando por ano de nascimento
  6. Para as pessoas no arquivo que possuem uma data de nascimento E uma data de morte, mostre uma listagem com o nome e o total de anos que ela viveu
    1. Mostre o total em anos, indicando quantos dias faltariam para seu próximo aniversário
    2. Mostre também o total de meses, dias, horas e minutos vividos
  7. Mostre o total de Sir e Madame existentes e o intervalo entre cada morte, ordenada por ano de forma crescente
  8. Mostre o nome completo das pessoas com King no nome (em qualquer lugar, podendo ser no meio do nome, por exemplo, Stephen Hawking
  9. Para todas as profissões com player, liste apenas o nome, a profissão e o ano de nascimento em um novo arquivo, chamado player.txt
  10. Coloque todas informações (data de nascimento e morte, nome, profissão) das pessoas nascidas no Brasil (Brazilian e derivados, por exemplo, Brazilian-French) em um arquivo chamado brazilian.txt
    1. [DESAFIO] Faça um arquivo por país conforme a lista de gentílicos, com nome igual ao nome do gentílico
  11. Liste as informações das pessoas com apelidos no nome, por exemplo, Yolanda "Tongolele" Montes
  12. Construa uma tabela mostrando os 5 países que mais possuem entradas no arquivo em nascimentos, listando o nome do país e o total de nascimentos e mortes. Faça outra tabela com as mesmas características mostrando as mortes
  13. Mostre as informações completas (nome, datas, observações) de todas as pessoas santas (ou seja, com observação igual a Saint)
  14. Para todos os primeiros nomes do arquivo, construa uma listagem mostrando o total de ocorrências de cada nome e salve-a em um arquivo chamado nomes-pessoais.txt (ordene a listagem por ordem crescente do total de nomes)
  15. Usando o arquivo datas-comemorativas-brasil.txt:
    1. Liste, para cada feriado (no arquivo marcado com a letra F), o total de pessoas nascidas e o total de mortes, ordenando a listagem produzida pelo dia com o maior número de ocorrências até o menor
    2. Mostre o total de pessoas nascidas em dias normais (que não são feriados, marcadas no arquivo pela letra N). Informe também o total de pessoas nascidas e mortas por dia
  16. Mostre todas as informações das pessoas que tem o gentílico Frankish. Os francos (wikipedia: http://en.wikipedia.org/wiki/Franks) foram uma tribo da europa.
  17. Mostre o número de nascimentos e mortes por país
  18. [DESAFIO] Crie uma nova listagem de nascimentos e mortes (chamada listagem.txt conforme o seguinte formato: Dia de nascimento;Dia de morte;Nome completo;Pais;Profissao. Faça isso apenas para as entradas completas, ou seja, que possuem dia de nascimento e morte, um país da lista de gentílicos e pelo menos uma profissão (escolha uma profissão para salvar na nova listagem). Ordene pelo dia de nascimento

Nenhum comentário:

Postar um comentário