数据框上所选值的平均值

时间:2017-07-26 16:15:32

标签: python pandas

使用:

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时采用所有速度的平均值。我只是没有意识到如何做到这一点,如果有人可以回答会有所帮助。

1 个答案:

答案 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()