【发布时间】:2017-12-13 15:22:40
【问题描述】:
我似乎无法使用以下代码绘制图表。我希望绘制一个图表,其中包含针对日期的总回报。我的代码有什么问题?
我得到 KeyError: 'Date'
电子表格如下所示
import pandas as pd
import numpy as np
from pandas_datareader import data
import matplotlib.pyplot as plt
# import data from csv into a dataframe
sp500 = pd.read_csv(r'C:\Users\James\SPX.csv', index_col = 'Date')
print sp500.tail()
#test plot to see if it works
x = sp500['Date']
y = sp500['Total Return']
plt.plot(x,y)
数据格式如下:
Cash Close Total Return Futures Open Futures Close Futures High \
Date
23-Dec-16 2,263.79 3,052.05 2,257.50 2,260.00 2,261.00
27-Dec-16 2,268.88 3,058.94 2,258.75 2,261.00 2,269.50
28-Dec-16 2,249.92 3,033.90 2,261.25 2,245.25 2,267.50
29-Dec-16 2,249.26 3,033.16 2,245.50 2,245.00 2,250.00
30-Dec-16 2,238.83 3,019.24 2,246.25 2,236.25 2,252.75
数据如下所示
Date,Cash Close,Total Return,Futures Open,Futures Close,Futures High,Futures Low,Risk Free Rate
2-Jan-01," 1,283.27 "," 1,283.27 "," 1,331.00 "," 1,299.80 "," 1,336.75 "," 1,289.25 ",6.50%
3-Jan-01," 1,347.56 "," 1,347.56 "," 1,301.00 "," 1,359.20 "," 1,367.25 "," 1,288.75 ",6.00%
4-Jan-01," 1,333.34 "," 1,333.34 "," 1,360.00 "," 1,348.30 "," 1,365.50 "," 1,341.50 ",6.00%
5-Jan-01," 1,298.35 "," 1,298.35 "," 1,345.75 "," 1,304.50 "," 1,380.00 "," 1,303.00 ",6.00%
8-Jan-01," 1,295.86 "," 1,295.86 "," 1,308.25 "," 1,309.50 "," 1,312.50 "," 1,287.50 ",6.00%
9-Jan-01," 1,300.80 "," 1,300.80 "," 1,312.00 "," 1,309.50 "," 1,325.50 "," 1,303.75 ",6.00%
10-Jan-01," 1,313.27 "," 1,313.27 "," 1,309.50 "," 1,327.00 "," 1,328.75 "," 1,297.25 ",6.00%
11-Jan-01," 1,326.82 "," 1,326.82 "," 1,325.75 "," 1,334.50 "," 1,343.50 "," 1,319.50 ",6.00%
12-Jan-01," 1,318.32 "," 1,318.32 "," 1,332.00 "," 1,330.30 "," 1,344.75 "," 1,322.00 ",6.00%
16-Jan-01," 1,326.65 "," 1,326.65 "," 1,328.75 "," 1,335.50 "," 1,339.50 "," 1,323.50 ",6.00%
17-Jan-01," 1,329.47 "," 1,329.47 "," 1,337.25 "," 1,341.70 "," 1,357.75 "," 1,334.50 ",6.00%
18-Jan-01," 1,347.97 "," 1,347.97 "," 1,342.50 "," 1,356.00 "," 1,364.00 "," 1,337.00 ",6.00%
19-Jan-01," 1,342.54 "," 1,342.54 "," 1,359.00 "," 1,348.50 "," 1,371.75 "," 1,345.75 ",6.00%
22-Jan-01," 1,342.90 "," 1,342.90 "," 1,346.00 "," 1,358.50 "," 1,364.00 "," 1,341.25 ",6.00%
23-Jan-01," 1,360.40 "," 1,360.40 "," 1,356.75 "," 1,366.00 "," 1,372.75 "," 1,348.50 ",6.00%
24-Jan-01," 1,364.30 "," 1,364.30 "," 1,366.25 "," 1,370.20 "," 1,379.00 "," 1,365.25 ",6.00%
25-Jan-01," 1,357.51 "," 1,357.51 "," 1,369.75 "," 1,364.50 "," 1,378.75 "," 1,362.75 ",6.00%
26-Jan-01," 1,354.95 "," 1,354.95 "," 1,364.25 "," 1,363.30 "," 1,366.75 "," 1,350.25 ",6.00%
29-Jan-01," 1,364.17 "," 1,364.17 "," 1,363.00 "," 1,370.00 "," 1,374.00 "," 1,358.50 ",6.00%
30-Jan-01," 1,373.73 "," 1,373.73 "," 1,370.25 "," 1,382.00 "," 1,384.25 "," 1,363.25 ",6.00%
31-Jan-01," 1,366.01 "," 1,366.01 "," 1,381.00 "," 1,372.90 "," 1,394.00 "," 1,371.25 ",5.50%
1-Feb-01," 1,373.47 "," 1,373.47 "," 1,397.90 "," 1,397.90 "," 1,397.90 "," 1,397.90 ",5.50%
2-Feb-01," 1,349.47 "," 1,349.47 "," 1,368.30 "," 1,368.30 "," 1,368.30 "," 1,368.30 ",5.50%
【问题讨论】:
-
不确定您的问题/问题是什么。另外:以后要注意代码格式。正如最初发布的那样,它不可读(我对其进行了格式化)。
-
谢谢哥们,让我也重新编辑一下问题。干杯。
-
你运行的是 jupyter notebook 还是 jupyter QT 控制台?
-
我正在使用简单的 python 2.7+ 和 CMD 来运行代码。还有记事本++。对python完全陌生,对于菜鸟问题抱歉
-
你打电话给
plt.show()了吗?
标签: python csv pandas numpy matplotlib