基于Time列分组移除NaN值的DataFrame数据处理需求
按时间步合并DataFrame数据的高效方案
针对你50万行的大数据集,用pandas的groupby配合聚合函数就能快速完成同时间步的数据合并,具体实现如下:
核心代码
假设你的数据存储在df中:
import pandas as pd # 按Time分组,提取每组各列的第一个非NaN值(同组仅一个有效数据) merged_df = df.groupby('Time', as_index=False).first()
逻辑说明
groupby('Time'):将所有相同时间戳的行归为一组,确保同时间步的数据被集中处理as_index=False:让Time保持为普通列,不转为索引,匹配你需要的输出格式.first():自动忽略NaN值,提取每组内每列的第一个有效数据——由于你的数据中同时间步下每列仅有一个非空值,刚好能把分散的电压、电流、温度数据合并到一行
性能提示
对于50万行的数据集,该方法效率优异:first()聚合函数计算开销低,且pandas的groupby经过高度优化,不会出现明显卡顿。如果Time列是整数类型(如示例中的时间戳),分组速度会更快。
结果验证
运行代码后,你的示例输入会输出:
Time Voltage [V] Current [A] Temperature [C] 0 1659545144000 25.780 0.287 19.0
内容的提问来源于stack exchange,提问作者Armin ny
相关产品推荐
相关产品推荐

