我正在编写以下代码:
# Resample, interpolate and inspect ozone data here
data = data.resample('D').interpolate()
data.info()
# Create the rolling window
***rolling = data.rolling(360)['Ozone']
# Insert the rolling quantiles to the monthly returns
data['q10'] = rolling.quantile(.1)
data['q50'] = rolling.quantile(.5)
data['q90'] = rolling.quantile(.9)
# Plot the data
data.plot()
plt.show()
对于带星号的行(***),我想知道,我可以使用下面的行吗
data['Ozone'].rolling(360)
为什么下面的表达式是False
data.rolling(360)['Ozone']==data['Ozone'].rolling(360)
他们的区别是什么
data.rolling(360)['Ozone']
&data['Ozone'].rolling(360)
可以互换使用,但是在使用聚合方法(如.mean
)之后,应该对它们进行比较,并且pandas.DataFrame.equal
应该用于进行比较李>.rolling
方法需要window
或用于计算的观察数。下例中window
、10
中的值用NaN
填充李>df.rolling(10)['A'])
&df['A'].rolling(10)
是pandas.core.window.rolling.Rolling
类型,不会进行比较。.rolling
如何工作的更多详细信息,请参阅文档和How do pandas Rolling objects work?李>.mean
,我们可以看到用于window
的值是NaN
李>df.rolling(10)['A'].mean()
&df['A'].rolling(10).mean()
都是pandas.core.series.Series
类型,可以比较李>np.nan == np.nan
是False
。本质上,它们是相同的,但是当将二者与==
进行比较时,NaN
的行计算为False
李>相关问题 更多 >
编程相关推荐