Created
July 27, 2018 19:10
-
-
Save jeyziel/ec2f2d5c85b29c0a17abedd33c832efc to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
``` | |
# coding: utf-8 | |
import csv | |
from collections import Counter | |
# Todas as perguntas são referentes ao arquivo `data.csv` | |
# Você ** não ** pode utilizar o pandas e nem o numpy para este desafio. | |
def reader_column(collumn): | |
data = [] | |
with open('data.csv', 'r') as csv_file: | |
csv_reader = csv.DictReader(csv_file, delimiter=',') | |
for line in csv_reader: | |
data.append(line[collumn]) | |
return data | |
# **Q1.** Quantas nacionalidades (coluna `nationality`) diferentes existem no arquivo? | |
def q_1(): | |
nationality = reader_column('nationality') | |
return len(set(nationality)) | |
# **Q2.** Quantos clubes (coluna `club`) diferentes existem no arquivo? | |
def q_2(): | |
club = reader_column('club') | |
return len(set(club)) | |
# **Q3.** Liste os nomes dos 20 primeiros jogadores de acordo com a coluna `full_name`. | |
def q_3(): | |
full_name = reader_column('full_name') | |
return full_name[0:20] | |
# **Q4.** Quem são os top 10 jogadores que ganham mais dinheiro (utilize as colunas `full_name` e `eur_wage`)? | |
def q_4(): | |
full_name = list(reader_column('full_name')) | |
eur_wage = list(map(float, reader_column('eur_wage'))) | |
ten_highter_wages = sorted(zip(full_name, eur_wage), reverse=True, key= lambda k: k[1])[:10] | |
names = [] | |
for name, _ in ten_highter_wages: | |
names.append(name) | |
return names | |
# **Q5.** Quem são os 10 jogadores mais velhos? | |
def q_5(): | |
full_name = list(reader_column('full_name')) | |
age = list(map(int, reader_column('age'))) | |
dez_mais_velhos = sorted(zip(full_name, age), reverse=True, key=lambda k: k[1])[:10] | |
names = [] | |
for name, _ in dez_mais_velhos: | |
names.append(name) | |
return names | |
# **Q6.** Conte quantos jogadores existem por idade. Para isso, construa um dicionário onde as chaves são as idades e os valores a contagem. | |
def q_6(): | |
age = list(map(int, reader_column('age'))) | |
return Counter(age) | |
``` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment