从年和日列到月列

2024-04-27 00:38:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据集,它只包括一年,天和小时,想得到或分组成天到一年中的一个月?你知道吗

数据帧的头部如下所示:

    Year    DOY     Hour
0   2012    1   1
1   2012    1   2
2   2012    1   3
3   2012    1   4
4   2012    1   5

尾巴看起来像这样:

    Year    DOY     Hour
8779    2012    366     20
8780    2012    366     21
8781    2012    366     22
8782    2012    366     23
8783    2013    1   0

我试过在DOY和Hour上玩groupby,但那并不能满足我的需求。 我怎样才能在熊猫身上做才能从这些数据中得到几个月?你知道吗


Tags: 数据year尾巴小时groupby头部hourdoy
1条回答
网友
1楼 · 发布于 2024-04-27 00:38:16

要添加带有月份的新日期列(如2012-10-22),可以尝试:

df['Date'] = pd.to_datetime(df.Year, format='%Y') + pd.to_timedelta(df.DOY, unit='days')

然后可以按DateHour分组。你知道吗

输入示例:

df = pd.DataFrame({'Year':[2012, 2012, 2012, 2012, 2013, 2013, 2013],
                  'DOY': [1, 40, 55, 110, 1, 77, 340]})

输出示例:

0   2012-01-02
1   2012-02-10
2   2012-02-25
3   2012-04-20
4   2013-01-02
5   2013-03-19
6   2013-12-07
Name: Month, dtype: datetime64[ns]

相关问题 更多 >