Python 查找不同年份同一日期的平均值

Python 查找不同年份同一日期的平均值,python,pandas,Python,Pandas,我正在处理以下数据帧: df Out[1]: temp_C date 2013-01-01 12 2013-01-02 11 2013-01-03 10 2013-01-04 9 2013-01-05 10 2013-01-06 10 2013-01-07 11 2013-01-08 12 2013-01-09 14 2013-01-10 14 2013-01-11 12 201

我正在处理以下数据帧:

df
Out[1]: 
              temp_C
date          
2013-01-01    12
2013-01-02    11
2013-01-03    10
2013-01-04     9
2013-01-05    10
2013-01-06    10
2013-01-07    11
2013-01-08    12
2013-01-09    14
2013-01-10    14
2013-01-11    12
2013-01-12    12
2013-01-13    11
2013-01-14    10
2013-01-15    10
2013-01-16    12
2013-01-17    13
...   
2017-01-02     8
2017-01-03     8
2017-01-04     8
2017-01-05     9
2017-01-06     9
2017-01-07    10
2017-01-08    12
2017-01-09    14
2017-01-10    14
2017-01-11    10
2017-01-12    10
2017-01-13    11
2017-01-14    14
2017-01-15    13
2017-01-16    10
2017-01-17     9
[1770 rows x 1 columns]
我需要做的是按一年中的某一天对值进行分组,找到每组的平均值(或中值),从而获得一个新的数据框架,其中每天的值是平均值/中值/。。。在同一天的所有值中

下面是一个例子:

df_grouped
Out[2]: 
              temp_C
date
2013-01-01    12
2014-01-01    10
2015-01-01    10
2016-01-01    12
2017-01-01    11
2013-01-02    11
2014-01-02    10
....
2016-12-31    8
2017-12-31    7

df_mean
Out[3]: 
              temp_C
date
1970-01-01    11 #the year is not meaningful anymore
1970-01-02    11.4
1970-01-03    12.5
....
1970-12-30    7.5
1970-12-31    7.5
谢谢。

设置
groupby

解释 字符串有一个
格式
方法,可以用作可调用的方法。它接受作为新字符串处理和插值的参数

{:%m-%d}。format
是一个可调用函数,它接受单个位置参数,并通过字符串中的
{}
进行处理。在本例中,
“{:%m-%d}”
特定于处理日期,可以更好地理解格式。它说,当查看日期时,将其格式化为月日


将可调用的消息传递给
groupby
时,它将该可调用消息应用于索引的每个元素。因为我们的索引是
Datetime
,所以每个元素都以月份和日期的形式返回。这正是我们想要的,以我们的
的意思

非常感谢,它工作得非常完美。只是一个问题:{}括号是什么意思?或者更好:他们有什么目的?我稍后会补充更多的解释。我正在举一个例子。那我就explain@GGiacomo希望有帮助。
df = pd.DataFrame(
    {'temp_C': range(10)},
    pd.to_datetime([
        '2010-01-23', '2012-03-30',
        '2013-01-23', '2013-03-30',
        '2014-01-23', '2014-03-30',
        '2016-01-23', '2015-03-30',
        '2017-01-23', '2017-03-30',
    ])
)
df.groupby('{:%m-%d}'.format).mean()

       temp_C
01-23       4
03-30       5