Użycie .melt() do porównania wyników akcji i obligacji
Powszechnie wiadomo, że ceny obligacji zmieniają się odwrotnie do cen akcji. W tym ostatnim ćwiczeniu powtórzysz wiele zagadnień z tego rozdziału, żeby to potwierdzić. Otrzymujesz tabelę przedstawiającą procentową zmianę ceny 10-letnich obligacji skarbowych USA. Jest ona w formacie szerokim, gdzie każdy rok ma osobną kolumnę. Aby przekształcić tę tabelę, skorzystasz z metody .melt().
Następnie użyjesz metody .query(), żeby odfiltrować zbędne dane. Połączysz tę tabelę z tabelą procentowych zmian indeksu giełdowego Dow Jones Industrial. Na koniec zwizualizujesz dane.
Tabele ten_yr i dji są już wczytane.
To ćwiczenie jest częścią kursu
Łączenie danych z pandas
Instrukcje do ćwiczenia
- Użyj
.melt()naten_yr, żeby odpivotować wszystkie kolumny opróczmetric, ustawiającvar_name='date'ivalue_name='close'. Wynik zapisz dobond_perc. - Używając metody
.query(), wybierz tylko te wiersze, w którychmetricjest równeclose, i zapisz wynik dobond_perc_close. - Użyj
merge_ordered(), żeby połączyćdji(tabela lewa) ibond_perc_closepo kolumniedatez użyciem złączenia wewnętrznego (inner join), ustawiającsuffixesna('_dow', '_bond'). Wynik zapisz dodow_bond. - Korzystając z
dow_bond, utwórz wykres pokazujący wyłącznie wartości dla Dow i obligacji.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Use melt on ten_yr, unpivot everything besides the metric column
bond_perc = ____
# Use query on bond_perc to select only the rows where metric=close
bond_perc_close = ____
# Merge (ordered) dji and bond_perc_close on date with an inner join
dow_bond = ____
# Plot only the close_dow and close_bond columns
dow_bond.plot(____, x='date', rot=90)
plt.show()