Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫将月平均数添加到列中_Python_Pandas - Fatal编程技术网

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

很好的建议!谢谢