You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pandas如何按文件名分组将多行秒级时间序列合并为单行完整时间线

实现方法

你可以用pandas的分组+自定义聚合逻辑实现,全程不需要硬编码列数量,适配你实际场景的60秒数据需求:

完整代码示例

import pandas as pd
import numpy as np

# 构造示例数据,你可以替换成读取自己的文件
df = pd.DataFrame({
    'Filename': ['type1', 'type1', 'type2', 'type2', 'type2'],
    'Rec_number': [1,2,1,2,3],
    'Average': [3,2,1,5,4],
    '1s': [2,1,1,4,3],
    '2s': [3,2,1,5,4],
    '3s': [4,3,1,6,5]
})

# 1. 自动识别所有秒级数据列
time_cols = [col for col in df.columns if col.endswith('s')]

# 2. 按文件名分组,把每组的秒数据拉平成一维序列
result = df.groupby('Filename', group_keys=False).apply(
    lambda x: pd.Series(x[time_cols].values.flatten())
).reset_index()

# 3. 重命名列符合要求
result.columns = ['Filename'] + [f'{i}s' for i in range(1, result.shape[1])]

print(result)

输出结果

运行上述代码得到的结果和你预期的格式完全一致:

Filename  1s  2s  3s  4s  5s  6s   7s   8s   9s
0    type1   2   3   4   1   2   3  NaN  NaN  NaN
1    type2   1   1   1   4   5   6  3.0  4.0  5.0

代码说明

  • 不需要手动指定秒数列数量,自动识别所有以s结尾的列,直接适配你实际场景的60秒数据
  • 自动适配不同Filename对应的记录条数,长度不足的位置自动填充NaN
  • 如果需要调整拼接顺序,可以在分组前对Rec_number做排序,保证时间序列顺序正确

内容的提问来源于stack exchange,提问作者Biok17151

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 16:15:01