【问题标题】:How can i group_by in pandas dataframe and extract the period those group我如何在 pandas 数据框中进行 group_by 并提取这些组的时间段
【发布时间】:2020-06-27 17:17:27
【问题描述】:

这是我的问题,我花了很多时间来解决这个问题......

我的数据框是:

idx value                   timestamp
0   2070.0 2020-03-16 10:21:00.667138+00:00
1   2070.0 2020-03-16 10:20:00.667138+00:00
2   2070.0 2020-03-16 10:19:00.667138+00:00
3   2070.0 2020-03-16 10:18:00.667138+00:00
4   2060.0 2020-03-16 10:17:00.667138+00:00
5   2060.0 2020-03-16 10:16:00.667138+00:00
6   2060.0 2020-03-16 10:15:00.667138+00:00
7   2060.0 2020-03-16 10:14:00.667138+00:00
8   2050.0 2020-03-16 10:13:00.667138+00:00
9   2050.0 2020-03-16 10:12:00.667138+00:00
10  2050.0 2020-03-16 10:11:00.667138+00:00
11  2050.0 2020-03-16 10:10:00.667138+00:00

并且使用 groupby() 我无法按值和范围从组中获取组。

我需要得到:

idx   value    intial         final
0     2070    10:21:00      10:17:00
1     2060    10:17:00      10:13:00
2     2050    10:13:00      10:10:00

任何帮助将不胜感激

【问题讨论】:

    标签: python-3.x pandas


    【解决方案1】:

    groupby() 需要链接另一个方法,例如 sum()、mean() 或任何其他方法。对你有用的是这样的:

    df2['initial']=df.groupby('value').min()['timestamp']
    df2['final']=df.groupby('value').max()['timestamp']

    但您仍然需要处理日期数据以提取小时。这个Link 解释了如何做到这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-30
      • 2012-09-23
      • 2021-09-13
      • 2016-10-10
      • 1970-01-01
      • 2017-06-27
      • 1970-01-01
      • 2014-01-26
      相关资源
      最近更新 更多