I have a dataframe like this:
date A
2015.1.1 10
2015.1.2 20
2015.1.3 30
2015.1.4 40
2015.1.5 50
2015.1.6 60
我需要计算前N行的标准差,例如:
date A std
2015.1.1 10 std(10)
2015.1.2 20 std(10,20)
2015.1.3 30 std(10,20,30)
2015.1.4 40 std(10,20,30,40)
2015.1.5 50 std(10,20,30,40,50)
2015.1.6 60 std(10,20,30,40,50,60)
可以使用pd.rolling(window=N).std来计算,其中N是滚动窗口的大小。如果想要动态更改N的值,可以将N存储在变量中并随时更改。
df[['A']].apply(lambda x:pd.rolling_std(x,N))
<class 'pandas.core.frame.DataFrame'>
Index: 75 entries, 2015-04-16 to 2015-07-31
Data columns (total 4 columns):
A 75 non-null float64
dtypes: float64(4)
memory usage: 2.9+ KB
x.name + 1
的意思是什么? - seizethedaydf.info()
的输出并将其编辑到您的问题中,您的索引是什么? - EdChumix
和iloc
之间有什么区别? - seizetheday