结果是这样的,没有根据id排:start_date end_date 0 2020-01-15 2020-04-27 1 2020-09-30 2020-10-10 2 2021-02-07 2021-02-22 3 2021-03-06 2021-03-24 4 2020-01-21 2020-03-03 .. ... ... 639 2021-03-09 2021-03-18 640 2021-03-24 2021-04-01 641 2020-01-12 2020-04-19 642 2021-02-09 2021-02-18 643 2020-01-18 2020-03-09
时间: 2023-08-06 16:02:27 浏览: 387
如果你想根据企业id对结果进行排序,可以在输出结果之前加上一行代码:
```python
result = result.sort_values(by=['id'])
```
此代码将会根据id对结果进行排序,使得每个企业的结果排在一起。完整的代码如下:
```python
mean = DataFrame.groupby(['id'])['amount'].mean()
# 列出每个企业用电量低于均值时间超过一周的时间段,标记起始时间和结束时间,省略中间时间
filtered_data = DataFrame[DataFrame['amount'] < DataFrame['id'].map(mean)]
filtered_data['date'] = pd.to_datetime(filtered_data['date'])
filtered_data['diff'] = filtered_data.groupby('id')['date'].diff().dt.days
filtered_data['period'] = (filtered_data['diff'] > 1).cumsum()
# 找出连续时间段,并计算起始时间和结束时间
result = filtered_data.groupby(['id', 'period']).agg(start_date=('date', 'min'), end_date=('date', 'max'))
result = result[result['end_date'] - result['start_date'] > pd.Timedelta(days=7)].reset_index(drop=True)
# 根据id排序输出结果
result = result.sort_values(by=['id'])
print(result)
```
输出结果将会按照企业id进行排序。
阅读全文