Python 熊猫将月平均数添加到列中
这是我的数据框Python 熊猫将月平均数添加到列中,python,pandas,Python,Pandas,这是我的数据框 index y 6/17/2018 100 6/24/2018 200 7/1/2018 100 7/8/2018 200 7/15/2018 300 … … 所需的数据帧为: index y MonthlyAverage 6/17/2018 100 150 6/24/2018 200 150 7/1/2018 100 200 7/8/2018 200 200 7/15/2018
index y
6/17/2018 100
6/24/2018 200
7/1/2018 100
7/8/2018 200
7/15/2018 300
… …
所需的数据帧为:
index y MonthlyAverage
6/17/2018 100 150
6/24/2018 200 150
7/1/2018 100 200
7/8/2018 200 200
7/15/2018 300 200
… … …
有什么建议吗?首先我们需要通过
将索引转换为datetime,然后我们进行转换
df['index']=pd.to_datetime(df.index,format='%m/%d/%Y')
df['mean']=df.groupby(df['index'].dt.strftime('%Y%d')).y.transform('mean')
df
我会使用将日期转换为月份,并按月份分组
df['index'] = pd.to_datetime(df['index'])
df['MonthlyAverage'] = (df.groupby(df['index'].dt.to_period('M'))
['y'].transform('mean')
)
输出:
index y MonthlyAverage
0 2018-06-17 100 150
1 2018-06-24 200 150
2 2018-07-01 100 200
3 2018-07-08 200 200
4 2018-07-15 300 200
很好的建议!谢谢