如何使用dataframe计算特定年份的标准偏差

2024-05-16 14:09:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下数据帧:

Date        Price
2017-01-30  121
2017-03-31  559
2017-06-04  400
2017-09-05  327.26
2017-11-06  32.47
...
2021-03-24  7.62
2021-03-25  107.49
2021-04-26  319.42
2021-05-27  380.77
2021-07-30  32.11

我似乎无法计算特定年份的标准偏差(例如,仅2017年的sd)。在使用.std函数时,我曾尝试将iloc用于特定年份,但收到类型错误


Tags: 数据函数类型date错误sdpricestd
2条回答

或者你的意思是

df['Date'] = pd.to_datetime(df['Date'])
print(df.loc[df['Date'].dt.year.eq(2017), 'Price'].std())

通过^{}转换为日期时间并提取年份:

df['Date'] = pd.to_datetime(df['Date'])

所有年份使用^{}

s = df.groupby(df['Date'].dt.year)['Price'].std()
#then is possible extract one year
out = s[2017]

如果只需要一年使用^{}

out = df.loc[df['Date'].dt.year == 2017, 'Price'].std()

相关问题 更多 >