Dùng .melt() để so sánh hiệu suất cổ phiếu và trái phiếu
Ai cũng biết rằng giá trái phiếu thường biến động ngược chiều với giá cổ phiếu. Ở bài cuối này, bạn sẽ ôn lại nhiều chủ đề trong chương để kiểm chứng điều đó. Bạn được cung cấp một bảng phần trăm thay đổi giá trái phiếu kho bạc Mỹ kỳ hạn 10 năm. Bảng đang ở định dạng rộng, với mỗi năm là một cột riêng. Bạn sẽ cần dùng phương thức .melt() để đổi dạng bảng này.
Ngoài ra, bạn sẽ dùng phương thức .query() để lọc bỏ dữ liệu không cần thiết. Bạn sẽ trộn bảng này với bảng phần trăm thay đổi giá chỉ số cổ phiếu Dow Jones Industrial. Cuối cùng, bạn sẽ vẽ biểu đồ dữ liệu.
Các bảng ten_yr và dji đã được nạp sẵn cho bạn.
Bài tập này là một phần của khóa học
Kết hợp dữ liệu với pandas
Hướng dẫn bài tập
- Dùng
.melt()trênten_yrđể unpivot mọi thứ trừ cộtmetric, đặtvar_name='date'vàvalue_name='close'. Lưu kết quả vàobond_perc. - Dùng phương thức
.query()để chọn các hàng cómetricbằngclose, và lưu vàobond_perc_close. - Dùng
merge_ordered()để gộpdji(bảng trái) vàbond_perc_closetheodatevới inner join, và đặtsuffixesbằng('_dow', '_bond'). Lưu kết quả vàodow_bond. - Dùng
dow_bond, chỉ vẽ giá trị của Dow và trái phiếu.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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()