Tworzenie zbioru danych za pomocą merge_asof()
Funkcja merge_asof() pozwala tworzyć zbiory danych, gdy masz tabelę z datami początku i końca pewnych zdarzeń i chcesz na ich podstawie dodać flagę do innej tabeli. Do dyspozycji masz tabelę gdp zawierającą kwartalne wartości PKB Stanów Zjednoczonych w latach 80. Dostępna jest również tabela recession, która przechowuje daty początku i końca każdej recesji w USA od 1980 roku. Użyj funkcji merge_asof(), aby połączyć obie tabele i dodać flagę statusu wskazującą, czy dany kwartał przypadał na okres recesji. Na koniec sprawdź wyniki, wyświetlając dane na wykresie słupkowym.
Tabele gdp i recession są już wczytane.
To ćwiczenie jest częścią kursu
Łączenie danych z pandas
Instrukcje do ćwiczenia
- Używając
merge_asof(), połącz tabelegdpirecessionpo kolumniedate, przyjmującgdpjako tabelę lewą. Wynik zapisz do zmiennejgdp_recession. - Utwórz
listza pomocą wyrażenia listowego z wyrażeniem warunkowym i nadaj jej nazwęis_recession: dla każdego wiersza wpisz'r', jeśli wartośćgdp_recession['econ_status']jest równa'recession', w przeciwnym razie wpisz'g'. - Korzystając z
gdp_recession, utwórz wykres słupkowy wartościgdpwzględemdate, ustawiając argumentcolornais_recession.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Merge gdp and recession on date using merge_asof()
gdp_recession = ____
# Create a list based on the row value of gdp_recession['econ_status']
is_recession = ['____' if s=='recession' else '____' for s in gdp_recession['econ_status']]
# Plot a bar chart of gdp_recession
gdp_recession.plot(kind=____, y=____, x=____, color=____, rot=90)
plt.show()