如何在Pandas DataFrame中保留1条重复datetime并合并其余重复行的字段值
Pandas按时间分组合并布尔值实现方案
核心逻辑
你的需求本质是按Date字段分组,对其余布尔字段做或运算:只要同分组内该字段有任意一个值为true,最终结果就为true,可以直接用Pandas的groupby + any()聚合实现。
实现步骤
- 字段类型预处理(按需操作)
如果你的原始数据里true/false是字符串格式,需要先转成Python标准布尔类型,同时建议把Date字段转成标准datetime类型避免分组出错:
import pandas as pd # 字符串格式的true/false转标准布尔值 df[['A', 'B', 'C']] = df[['A', 'B', 'C']].replace({'true': True, 'false': False}) # Date字段转datetime类型 df['Date'] = pd.to_datetime(df['Date'])
- 分组聚合计算
# 按Date分组,所有布尔字段取或运算结果 result = df.groupby('Date', as_index=False).any()
执行完成后result就是你需要的最终输出结果。
内容的提问来源于stack exchange,提问作者Uknownbt
相关产品推荐
相关产品推荐

