如何在SQL/Python中按UTC分组获取Allowed和Blocked的最大值?
解决方案:按UTC去重并取对应字段最大值
SQL 实现
直接通过分组聚合即可完成,无需复杂嵌套查询:
SELECT UTC, MAX(Allowed) AS Allowed, MAX(Blocked) AS Blocked FROM your_table_name GROUP BY UTC;
- 核心逻辑:
GROUP BY UTC将相同UTC值的行归为一组,MAX()函数分别提取每组内Allowed和Blocked的最大值 - 替换代码中的
your_table_name为你的实际表名即可执行
Python 实现(基于Pandas)
用Pandas的分组聚合比循环过滤效率更高,代码更简洁:
import pandas as pd # 读取数据,根据实际数据源调整(如Excel、数据库等) df = pd.read_csv('your_data_file.csv') # 按UTC分组,提取指定字段的最大值 result_df = df.groupby('UTC').agg({'Allowed': 'max', 'Blocked': 'max'}).reset_index() # 查看结果或保存 print(result_df) # result_df.to_csv('processed_data.csv', index=False)
groupby('UTC')完成分组操作,agg()指定每个字段对应的聚合规则为取最大值reset_index()将UTC从索引列恢复为普通数据列,保证结果结构与原表一致
内容的提问来源于stack exchange,提问作者biobar
相关产品推荐
相关产品推荐

