我想使用matplotlib来遮蔽我的时间序列数据的最小值和最大值。这是一个数据样本。我如何检索最小值和最大值。 (请注意,下面给出的时间是字符串格式,但我有时间从前一天00:00:00开始,所以我的时间为5902761,5902770)
例如
index time value
1 08:00:00 100
2 08:00:01 100
3 08:00:01 101
4 08:00:02 100
5 08:00:02 102
6 08:00:02 101
我想要的是以下
index time min_value max_value
1 08:00:00 100 100
2 08:00:01 100 101
3 08:00:02 100 102
答案 0 :(得分:4)
将aggregate
与rename
:
d = {'min':'min_value','max':'max_value'}
df = df.groupby('time')['value'].agg([min, max]).reset_index().rename(columns=d)
print (df)
time min_value max_value
0 08:00:00 100 100
1 08:00:01 100 101
2 08:00:02 100 102
,因为:
df = df.groupby('time')['value'].agg({'min_value':'min','max_value':'max'})
FutureWarning:在系列上使用dict进行聚合 已弃用,将在以后的版本中删除 df = df.groupby(' time')[' value']。agg({' min':' min_value',' ;最大':' MAX_VALUE'})