Я пытаюсь построить кривую, определенную следующим образом:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
limit1 = 50
nPoints1=50
x1 = np.arange(0,limit1,1)
noise = np.asarray(np.random.randn(1,limit1))*15
y1 = x1**1.5 + noise
ts = pd.DataFrame(y1[0],index=x1)
Я также хочу построить доверительный интервал этой кривой, поэтому я вычисляю:
ts_avg_smooth = ts.rolling(window=50,min_periods=1).mean()
ts_std_smooth = ts.rolling(window=50,min_periods=1).std()
Наконец я делаюграфик
fig1,ax1 = plt.subplots(figsize=(15,8))
ax1.plot(ts_avg_smooth)
ax1.fill_between(ts.index,ts_avg_smooth[0]+ts_std_smooth[0],ts_avg_smooth[0]-ts_std_smooth[0],alpha=0.1)
plt.show()

Я не понимаю, почему мне нужно индексировать свой временной ряд (используйте [0]) в следующих случаях
ts = pd.DataFrame(y1[0],index=x1)
ts_avg_smooth[0]+ts_std_smooth[0]
Может кто-нибудь объяснить это?