tp5.1 合并 start_time 三分钟内 的 size 数据
时间: 2024-05-15 07:20:04 浏览: 16
假设有如下数据:
| start_time | size |
|---------------------|------|
| 2021-06-01 00:01:00 | 10 |
| 2021-06-01 00:02:30 | 5 |
| 2021-06-01 00:03:40 | 8 |
| 2021-06-01 00:05:00 | 7 |
| 2021-06-01 00:06:20 | 3 |
| 2021-06-01 00:08:10 | 6 |
要合并 start_time 三分钟内的 size 数据,可以按照以下步骤进行:
1. 将 start_time 转化为时间戳(单位为秒),并将 size 转化为整型:
```python
import time
data = [
{"start_time": "2021-06-01 00:01:00", "size": "10"},
{"start_time": "2021-06-01 00:02:30", "size": "5"},
{"start_time": "2021-06-01 00:03:40", "size": "8"},
{"start_time": "2021-06-01 00:05:00", "size": "7"},
{"start_time": "2021-06-01 00:06:20", "size": "3"},
{"start_time": "2021-06-01 00:08:10", "size": "6"}
]
for d in data:
d["start_time"] = int(time.mktime(time.strptime(d["start_time"], "%Y-%m-%d %H:%M:%S")))
d["size"] = int(d["size"])
```
2. 定义一个函数,用于将数据按照 start_time 进行分组:
```python
def group_by_start_time(data):
groups = []
current_group = []
for d in data:
if not current_group:
current_group.append(d)
elif d["start_time"] - current_group[-1]["start_time"] <= 180:
current_group.append(d)
else:
groups.append(current_group)
current_group = [d]
if current_group:
groups.append(current_group)
return groups
```
3. 调用 group_by_start_time 函数,将数据按照 start_time 进行分组,并将每个组的 size 进行求和:
```python
groups = group_by_start_time(data)
result = []
for group in groups:
start_time = group[0]["start_time"]
size = sum(d["size"] for d in group)
result.append({"start_time": start_time, "size": size})
```
最终的结果为:
| start_time | size |
|------------|------|
| 1622503260 | 23 |
| 1622503360 | 3 |
| 1622503690 | 6 |
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)