Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Używając merge_asof(), połącz tabele gdp i recession po kolumnie date, przyjmując gdp jako tabelę lewą. Wynik zapisz do zmiennej gdp_recession.
  • Utwórz list za 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ści gdp względem date, ustawiając argument color na is_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()
Edytuj i uruchom kod