如何用Python消除DataFrame中同一时间戳的行间隙并合并为单行
合并同一时间戳的DataFrame行
可以通过pandas的分组聚合操作,快速将同一时间戳下的多行数据合并为一行,保留各字段的有效数据。
实现步骤
- 预处理数据:将原始数据中的空白内容替换为pandas可识别的缺失值
pd.NA(如果原始空白是字符串类型的话) - 按
EVENT_TIME分组,对每个分组的每一列取第一个非空有效值
代码示例
import pandas as pd # 假设原始数据存储在DataFrame df中 # 替换空白字符串为缺失值 df = df.replace('', pd.NA) # 分组聚合,合并同一时间戳的行 result_df = df.groupby('EVENT_TIME', as_index=False).first() # 输出结果 print(result_df)
结果验证
执行代码后得到的结果与期望一致:
EVENT_TIME POWER SPEED LATITUDE LONGITUDE 2023-10-01 23:59:30 3529.2 59.2 214.9085 11.2168 2023-10-01 23:59:00 2258.2 64.5 332.985 12.3658 2023-10-01 23:58:30 2236.2 62.3 331.993 15.2580
内容的提问来源于stack exchange,提问作者H.Cho
相关产品推荐
相关产品推荐

