如何将日期分组到 pandas

How can I group dates into pandas

    Datos
2015-01-01  58
2015-01-02  42
2015-01-03  41
2015-01-04  13
2015-01-05  6
...     ...
2020-06-18  49
2020-06-19  41
2020-06-20  23
2020-06-21  39
2020-06-22  22

2000 rows × 1 columns

我有这个 df,它由一个列组成,该列的数据表示几年中每一天的平均温度。我想知道如何获取每一天的最大值(考虑到一年有365天)并获得类似这样的df:

        Datos
1   40
2   50
3   46
4   8
5   26
...     ...
361     39
362     23
363     23
364     37
365     25

365 rows × 1 columns

原谅我的无知,非常感谢你的帮助。

新建一个专栏:

df["day of year"] = df.Datos.dayofyear

然后

df.groupby("day of year").max()

你可以这样做:

df['Date'] = pd.to_datetime(df['Date'])
df = df.groupby(by=pd.Grouper(key='Date', freq='D')).max().reset_index()
df['Day'] = df['Date'].dt.dayofyear
print(df)

           Date  Temp  Day
0    2015-01-01  58.0    1
1    2015-01-02  42.0    2
2    2015-01-03  41.0    3
3    2015-01-04  13.0    4
4    2015-01-05   6.0    5
...         ...   ...  ...
1995 2020-06-18  49.0  170
1996 2020-06-19  41.0  171
1997 2020-06-20  23.0  172
1998 2020-06-21  39.0  173
1999 2020-06-22  22.0  174