按日期分组匹配的日期温度数组 拆分生成单日期对应温度列表
分组实现方案
两种实现方式都可以轻松处理单集8000条量级的数据,你可以根据自己的技术栈选择:
方案1:原生Python实现(无需额外依赖)
用collections.defaultdict做分组容器,通过zip配对两个数组的对应元素:
from collections import defaultdict # 假设你的两个数组分别叫 dates_array 和 temps_array temp_groups = defaultdict(list) for date, temp in zip(dates_array, temps_array): temp_groups[date].append(temp) # 转换为你需要的输出格式 grouped_dates = [] grouped_temps = [] # 加sorted可以让输出按日期升序排列,不需要可以去掉 for date, temp_list in sorted(temp_groups.items()): grouped_dates.append([date] * len(temp_list)) grouped_temps.append(temp_list)
运行后grouped_dates和grouped_temps就是你要的拆分结果。
方案2:Pandas实现(更适合后续绘图场景)
你是从CSV提取的数据,直接用Pandas处理更方便,分组后可以直接调用接口生成箱线图,不需要手动拆分数组:
import pandas as pd # 合并为DataFrame df = pd.DataFrame({ "date": dates_array, "temperature": temps_array }) # 按日期分组 date_groups = df.groupby("date") # 如果需要手动提取拆分后的数组 grouped_dates = [g["date"].tolist() for _, g in date_groups] grouped_temps = [g["temperature"].tolist() for _, g in date_groups] # 直接生成箱线图的话一行代码即可,不需要上面的拆分步骤 # date_groups.boxplot(column="temperature")
内容的提问来源于stack exchange,提问作者Alt3rnat3
相关产品推荐
相关产品推荐

