【问题标题】:Python: find minimum every minute timestamp dataframePython:找到最小的每分钟时间戳数据帧
【发布时间】:2015-10-15 22:55:13
【问题描述】:

您好,我有以下数据框。我想知道是否有系统的方法来检查例如每分钟的最小值。特别给出以下内容:

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

我希望有一个专栏 minimum 每分钟占用最少 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

【问题讨论】:

  • 如何计算val
  • 它来自我拥有的数据库
  • 时间只是一个字符串吗?
  • 如果我检查类型,它是pandas.tslib.Timestamp
  • 你能groupby 吗?

标签: python timestamp dataframe


【解决方案1】:
grouped = df.groupby( (df["TIME"].dt.hour, df["TIME"].dt.minute) )
minimums = grouped.agg(numpy.min)

然后您需要弄清楚如何将该最小值列表作为一个新列应用到您的数据框...我将把它作为练习留给您

【讨论】:

  • 谢谢。但是,如果我这样做,它会起作用:grouped = df.groupby(df["TIME"].dt.hour) 并且它会在每个小时找到最小值,但如果我这样做 grouped=df.groupby(df["TIME"].dt.hour,df["TIME"].dt.minute) 我有以下错误:TypeError: 'Series' objects are mutable, thus they cannot be hashed
  • 哎呀需要将参数放入一个元组......那么它应该没问题
猜你喜欢
  • 2016-07-25
  • 1970-01-01
  • 1970-01-01
  • 2021-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-20
  • 1970-01-01
相关资源
最近更新 更多