Python,在系列的开始和结束处连接两个数据点

时间:2018-10-20 20:37:50

标签: python pandas graph charts line

我真的很想知道如何使用Python在图表上绘制两点的平均值。我有200个数据点的股票数据,我想取前20个点的均值和后20个点的均值,然后绘制一条连接这两个点的线。我不希望考虑这两个之间的任何数据点。

我的整个程序就是这样

stock = web.get_data_yahoo('clh.ax', '10/01/2017', interval='d')

stock['ema']=stock['Adj Close'].ewm(span=100,min_periods=0).mean()

stock['std']=stock['Adj Close'].rolling(window = 20,min_periods=0).std()

# bollinger bands
stock['close 20 day mean'] = stock['Close'].rolling(20,min_periods=0).mean()
# upper band
stock['upper'] = stock['close 20 day mean'] + 2 * (stock['Close'].rolling(20, min_periods=0).std())
# lower band
stock['lower'] = stock['close 20 day mean'] - 2 * (stock['Close'].rolling(20, min_periods=0).std())
# end bollinger bands

fig,axes = plt.subplots(nrows=3, ncols =1, figsize=(10,6))

axes[0].plot(stock['Close'], color='red')
axes[0].plot(stock['ema'], color='blue')
axes[0].plot(stock['close 20 day mean'], color='black')
axes[0].plot(stock['upper'], color='black')
axes[0].plot(stock['lower'], color='black')

axes[1].plot(stock['Volume'],color='purple')
axes[2].plot(stock['std'], color='black')

1 个答案:

答案 0 :(得分:0)

不能100%确定我正确理解了这个问题,但是:
a)取前20分的平均值,
b)取最后20点的平均值。
c)在这两个值之间绘制一条线。

%matplotlib inline
import matplotlib.pyplot as plt

plt.plot([stock["Close"].iloc[:20].mean(), stock["Close"].iloc[-20:].mean()])

此图: enter image description here