gpt4 book ai didi

python - 如何在 Python 中旋转向量

转载 作者:太空宇宙 更新时间:2023-11-03 23:54:10 25 4
gpt4 key购买 nike

我有以下示例数据框:

index = pd.date_range('1/1/2020', periods=8760, freq='H')
df = pd.Series(range(8760), index=index)

我想做的是有一个新的数据框,对于列,它将具有日期编号,1 到 31,对于行,它将具有所有月份,从 df 开始的第一个可用月份到最后一个可用。它也应该有月份,即使它们不包含在 df 中也是如此。

输出应该是这样的:

enter image description here

在单元格中,结果应该是平均值或总和值。

例如,第一个单元格 (01-20,1) 应该是第一个月第一天所有值的平均值,最后一列和最后一个单元格 (12-20,31) 应该是平均值该月最后一天的所有值,等等。

我尝试使用 groupby,但运气不佳。

最佳答案

您想要包含数据透视表:

# your data is a series, we turn it to a dataframe
df = df.to_frame(name='values')

# create days and months
df['days'] = df.index.day
df['months'] = df.index.to_period('M')

# since your data is hourly, I just take daily mean:
df.pivot_table(columns='days',
index='months',
values='values',
aggfunc='mean')

您也可以使用 groupby 而无需将系列转换为框架:

(df.groupby([df.index.day, df.index.to_period('M')])
.mean()
.unstack(0)
)

关于python - 如何在 Python 中旋转向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58396488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com