Python 使用datetime计算小时平均值,时间和分钟不为';t用冒号分隔

Python 使用datetime计算小时平均值,时间和分钟不为';t用冒号分隔,python,arrays,pandas,datetime,mean,Python,Arrays,Pandas,Datetime,Mean,在我的工作与熊猫数据帧。我的数据中有一列按以下格式显示小时(以分钟为单位): Hour ALTM PALT TMPC DWPC RELH \ 0 0 1012.868116 1012.368116 23.556731 19.368497 79.346506 1 30 1013.142857 1012.642857 23.000000 17.428571 73.71428

在我的工作与熊猫数据帧。我的数据中有一列按以下格式显示小时(以分钟为单位):

    Hour         ALTM         PALT       TMPC       DWPC        RELH  \
0      0  1012.868116  1012.368116  23.556731  19.368497   79.346506   
1     30  1013.142857  1012.642857  23.000000  17.428571   73.714286   
2     35  1012.000000  1011.500000  23.000000  22.000000   94.000000   
3    100  1012.685307  1012.185307  23.251641  19.069231   79.638462   
4    130  1013.333333  1012.833333  24.833333  19.000000   73.166667   
5    200  1012.265487  1011.765487  23.104930  19.143939   80.640506   
6    201  1012.000000  1011.500000  23.000000  21.000000   89.000000   
.
.
.  
68  2330  1013.666667  1013.166667  25.333333  17.500000   63.666667
前两个数字是小时,后两个数字是分钟(小时只有一位数的情况除外)。我试图对所有这些变量取每小时平均值

使用以下命令将小时列转换为日期时间时:

hour_goss_mean['Hour'] = pd.to_datetime(hour_goss_mean['Hour']).dt.strftime('%H%m')
然后呢

hour_goss_mean['Hour']
我明白了

0     0001
1     0001
2     0001
3     0001
4     0001
5     0001
6     0001

其中第二列是新的小时列。我不确定这是否是因为数据中没有用冒号分隔小时和分钟。我不知道如何获得小时平均值。

IIUC,首先需要提取小时数和分组比:

hours = df['Hour'].astype(int) // 100
df.drop('Hour', axis=1).groupby(hours).mean()
输出:

             ALTM         PALT       TMPC       DWPC       RELH
Hour                                                           
0     1012.670324  1012.170324  23.185577  19.599023  82.353597
1     1013.009320  1012.509320  24.042487  19.034616  76.402565
2     1012.132743  1011.632743  23.052465  20.071970  84.820253
23    1013.666667  1013.166667  25.333333  17.500000  63.666667