2015-10-15 45 views
0

您好,我有以下数据框。我想知道是否有系统的方法来检查每分钟的最小值。特别是给予以下:Python:每分钟查找最小时间戳数据帧

df 
ID TIME   VAL 
0 3/10/2014 8:02 6 
1 3/10/2014 8:02 6.5 
2 3/10/2014 8:04 7 
3 3/10/2014 8:05 6.5 
4 3/10/2014 8:05 6 
5 3/10/2014 8:05 5.5 
6 3/10/2014 8:06 5 
7 3/10/2014 8:06 4.5 
8 3/10/2014 8:08 4 
9 3/10/2014 8:08 4.5 
10 3/10/2014 8:09 5 
11 3/10/2014 8:09 5.5 
12 3/10/2014 8:09 6 
13 3/10/2014 8:10 6.5 
14 3/10/2014 8:10 7 

我想有取最小值val每分钟

ID TIME   VAL MINIMUM 
0 3/10/2014 8:02 6 6 
1 3/10/2014 8:02 6.5 6 
2 3/10/2014 8:04 7 7 
3 3/10/2014 8:05 6.5 5.5 
4 3/10/2014 8:05 6 5.5 
5 3/10/2014 8:05 5.5 5.5 
6 3/10/2014 8:06 5 4.5 
7 3/10/2014 8:06 4.5 4.5 
8 3/10/2014 8:08 4 4 
9 3/10/2014 8:08 4.5 4 
10 3/10/2014 8:09 5 5 
11 3/10/2014 8:09 5.5 5 
12 3/10/2014 8:09 6 5 
13 3/10/2014 8:10 6.5 6.5 
14 3/10/2014 8:10 7 6.5 
+0

你如何计算'val' – Elipzer

+0

它来自数据库我有 – emax

+0

时间只是一个字符串? –

回答

0
grouped = df.groupby((df["TIME"].dt.hour, df["TIME"].dt.minute)) 
minimums = grouped.agg(numpy.min) 

然后你会需要弄清楚如何应用列表中的列minimum作为一个新列的最小值到你的数据框......我将离开这个作为你的练习

+0

谢谢。然而,如果我这样做,它会起作用:'groupped = df.groupby(df [“TIME”]。dt.hour)'它会在每个小时发现最小值,但如果我做了'grouped = df.groupby(df [“TIME” ] .dt.hour,df [“TIME”]。dt.minute)'我有以下错误:'TypeError:'Series'对象是可变的,因此它们不能被散列' – emax

+0

whoops需要将参数放入一个元组......那应该没问题 –

相关问题