Tworzenie iteratora do wczytywania danych we fragmentach (2)
W poprzednim ćwiczeniu użyto read_csv() do wczytywania fragmentów DataFrame z dużego zbioru danych. W tym ćwiczeniu wczytasz plik, używając większego rozmiaru fragmentu, a następnie przetworysz dane z pierwszego fragmentu.
Podczas przetwarzania danych utworzysz nowy DataFrame zawierający tylko wiersze dotyczące wybranego kraju. Następnie połączysz ze sobą dwie kolumny nowego DataFrame – 'Total Population' i 'Urban population (% of total)' – za pomocą funkcji zip(). Na koniec utworzysz listę krotek z obiektu zip, gdzie każda krotka zawiera wartości z obu wspomnianych kolumn.
Dane pochodzą z pliku 'ind_pop_data.csv', dostępnego w bieżącym katalogu. Biblioteka pandas została zaimportowana jako pd.
To ćwiczenie jest częścią kursu
Zestaw narzędzi Pythona
Instrukcje do ćwiczenia
- Użyj
pd.read_csv(), aby wczytać plik'ind_pop_data.csv'we fragmentach po1000wierszy. Wynik przypisz do zmiennejurb_pop_reader. - Pobierz pierwszy fragment DataFrame z iteratora
urb_pop_readeri przypisz go dodf_urb_pop. - Wybierz tylko te wiersze z
df_urb_pop, dla których'CountryCode'ma wartość'CEB'. W tym celu sprawdź, czydf_urb_pop['CountryCode']jest równy'CEB'wewnątrz nawiasów kwadratowych wdf_urb_pop[____]. - Za pomocą
zip()połącz kolumny'Total Population'i'Urban population (% of total)'zdf_pop_ceb. Wynikowy obiekt zip przypisz do zmiennejpops.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)