Łączenie szeregów czasowych o różnych datach
Giełda akcji i rynek obligacji w USA są zamknięte w różne dni. Na przykład rynek obligacji jest zamknięty w Dzień Kolumba (około 12 października) i Dzień Weteranów (około 11 listopada), natomiast giełda akcji w tych dniach działa normalnie. Aby zobaczyć, w które dni giełda jest otwarta, a rynek obligacji zamknięty, możesz przekonwertować oba indeksy dat na zbiory i obliczyć ich różnicę.
Metoda .join() z biblioteki pandas to wygodne narzędzie do łączenia DataFrame'ów stocks i bonds po datach, w których oba rynki są otwarte.
Ceny akcji i rentowności 10-letnich obligacji skarbowych USA, pobrane z serwisu FRED, są wstępnie załadowane do DataFrame'ów stocks i bonds.
To ćwiczenie jest częścią kursu
Analiza szeregów czasowych w Pythonie
Instrukcje do ćwiczenia
- Przekonwertuj daty z
stocks.indexibonds.indexna zbiory. - Oblicz różnicę zbioru akcji i zbioru obligacji, aby znaleźć daty, dla których dostępne są dane giełdowe, ale brakuje danych z rynku obligacji.
- Połącz oba DataFrame'y w nowy DataFrame
stocks_and_bonds, używając metody.join()o składnidf1.join(df2).- Aby uzyskać część wspólną dat, użyj argumentu
how='inner'.
- Aby uzyskać część wspólną dat, użyj argumentu
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Import pandas
import pandas as pd
# Convert the stock index and bond index into sets
set_stock_dates = set(stocks.index)
set_bond_dates = set(___)
# Take the difference between the sets and print
print(set_stock_dates - ___)
# Merge stocks and bonds DataFrames using join()
stocks_and_bonds = ___