使用:
df = pd.read_csv('values_per_hour.csv')
数据框是这样的:
Hour Vel
0 10
1 11
2 15
. .
. .
. .
23 7
0 17
1 3
2 4
. .
. .
. .
23 2
0
... ...
此数据框包含10小时的数据。可以看出,第一个col是几天,第二个col是某种速度。主要目标是在小时为0时采用所有速度的平均值。我只是没有意识到如何做到这一点,如果有人可以回答会有所帮助。
答案 0 :(得分:3)
使用mean
进行布尔索引:
df.loc[df['Hour'] == 0,'Vel'].mean()
或使用query
:
df.query('Hour == 0')['Vel'].mean()
如果您想每小时都使用:
df.groupby('Hour')['Vel'].mean()
或者尝试确保列首先是datetime dtype:
df['Ano_Mes_Dia_Hora'] = pd.to_datetime(df.Ano_Mes_Dia_Hora)
df.groupby(df['Ano_Mes_Dia_Hora'].dt.hour)['Vel'].mean()