熊猫:使用分组的数据框查找值的原始索引

时间:2019-01-19 12:11:20

标签: python-3.x pandas dataframe indexing

我有一个带有RangeIndex的数据框,第一列中的时间戳记,第二列中的每小时数千个温度观测值。

将观察值按24分组并找到每日的Tmax和Tmin很容易。但是我还想要每天的最大值和最小值的时间戳。

我该怎么做?

我希望我能在不发布有效示例的情况下获得帮助,因为数据的性质使其不切实际。

编辑:这是两天的数据。

        DT                      T-C
    0   2015-01-01 00:00:00     -2.5
    1   2015-01-01 01:00:00     -2.1
    2   2015-01-01 02:00:00     -2.3
    3   2015-01-01 03:00:00     -2.3
    4   2015-01-01 04:00:00     -2.3
    5   2015-01-01 05:00:00     -2.0
   ...
    24  2015-01-02 00:00:00     1.1
    25  2015-01-02 01:00:00     1.1
    26  2015-01-02 02:00:00     0.8
    27  2015-01-02 03:00:00     0.5
    28  2015-01-02 04:00:00     1.0
    29  2015-01-02 05:00:00     0.7

1 个答案:

答案 0 :(得分:1)

首先创建DatetimeIndex,然后通过Grouperdaysidxmax进行汇总 idxmin用于minmax温度的日期时间:

df['DT'] = pd.to_datetime(df['DT'])
df = df.set_index('DT')

df = df.groupby(pd.Grouper(freq='D'))['T-C'].agg(['idxmax','idxmin','max','min'])
print (df)
                        idxmax              idxmin  max  min
DT                                                          
2015-01-01 2015-01-01 05:00:00 2015-01-01 00:00:00 -2.0 -2.5
2015-01-02 2015-01-02 00:00:00 2015-01-02 03:00:00  1.1  0.5