技术需求:提取每个周期峰值并拆分含纳秒的日期时间数据
问题解决方案
1. 提取每个周期的峰值
处理时序数据的周期峰值,可按分组提取最大值的思路实现,以下是Python示例:
- 先将数据按周期维度分组(比如固定时间间隔、自定义周期边界)
- 对每组数据提取数值的最大值(即该周期的峰值)
示例代码:
import pandas as pd # 构造含周期标识的示例数据 data = pd.DataFrame({ "周期": [1,1,1,2,2,2,3,3,3], "数值": [10,25,15,30,18,40,22,28,20] }) # 分组提取峰值 peak_per_cycle = data.groupby("周期")["数值"].max().reset_index() print(peak_per_cycle)
2. 拆分包含毫秒级时间的日期与时间
针对给定的原始数据,通过字符串分割提取日期和时间部分,整理后结果如下:
| Date | Time |
|---|---|
| 2023-11-02 | 12:00:00.039 |
| 2023-11-02 | 12:00:00.996 |
| 2023-11-02 | 12:00:01.396 |
| 2023-11-02 | 12:00:01.701 |
| 2023-11-02 | 12:00:02.207 |
| 2023-11-02 | 12:00:03.206 |
实现代码(Python):
# 原始数据行 raw_lines = [ "0 2023-11-02 12:00:00.039 -201", "1 2023-11-02 12:00:00.996 -201", "2 2023-11-02 12:00:01.396 -198", "3 2023-11-02 12:00:01.701 -86", "4 2023-11-02 12:00:02.207 -196", "5 2023-11-02 12:00:03.206 -105" ] # 提取日期和时间 result = [] for line in raw_lines: parts = line.split() result.append({"Date": parts[1], "Time": parts[2]}) # 输出表格 print("| Date | Time|") print("|------|-----|") for item in result: print(f"| {item['Date']}| {item['Time']}|")
内容的提问来源于stack exchange,提问作者Luan Dang
相关产品推荐
相关产品推荐

