Escrevendo um iterador para carregar dados em partes (2)
No exercício anterior, você usou read_csv()
para ler partes de DataFrame de um grande conjunto de dados. Neste exercício, você lerá um arquivo usando um tamanho de bloco de DataFrame maior e, em seguida, processará os dados do primeiro bloco.
Para processar os dados, você criará outro DataFrame composto apenas pelas linhas de um país específico. Em seguida, você unirá duas das colunas do novo DataFrame, 'Total Population'
e 'Urban population (% of total)'
. Por fim, você criará uma lista de tuplas a partir do objeto zip, em que cada tupla é composta pelo valor de cada uma das duas colunas mencionadas.
Você usará os dados de 'ind_pop_data.csv'
, disponíveis em seu diretório atual. pandas
foi importado como pd
.
Este exercício faz parte do curso
Caixa de ferramentas Python
Instruções de exercício
- Use
pd.read_csv()
para ler o arquivo'ind_pop_data.csv'
em blocos de tamanho1000
. Atribua o resultado aurb_pop_reader
. - Obtenha o primeiro bloco de DataFrame do iterável
urb_pop_reader
e atribua-o adf_urb_pop
. - Selecione apenas as linhas de
df_urb_pop
que tenham um'CountryCode'
de'CEB'
. Para fazer isso, compare sedf_urb_pop['CountryCode']
é igual a'CEB'
dentro dos colchetes emdf_urb_pop[____]
. - Usando
zip()
, junte as colunas'Total Population'
e'Urban population (% of total)'
dedf_pop_ceb
. Atribua o objeto zip resultante apops
.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# Initialize reader object: urb_pop_reader
urb_pop_reader = pd.read_csv(____, ____)
# Get the first DataFrame chunk: df_urb_pop
df_urb_pop = next(____)
# Check out the head of the DataFrame
print(df_urb_pop.head())
# Check out specific country: df_pop_ceb
df_pop_ceb = df_urb_pop[____]
# Zip DataFrame columns of interest: pops
pops = zip(____, ____)
# Turn zip object into list: pops_list
pops_list = list(pops)
# Print pops_list
print(pops_list)