Skip to content

Instantly share code, notes, and snippets.

@jeyziel
Created July 27, 2018 19:10
Show Gist options
  • Save jeyziel/ec2f2d5c85b29c0a17abedd33c832efc to your computer and use it in GitHub Desktop.
Save jeyziel/ec2f2d5c85b29c0a17abedd33c832efc to your computer and use it in GitHub Desktop.
```
# 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