You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何清洗多列CSV数据、合并传感器列并基于Pandas计算多维度均值

处理传感器S1温湿度数据并计算均值的分步方案

1. 读取并检查原始数据

先确认CSV数据读取正常,明确数据结构:

import pandas as pd

# 读取目标CSV文件
df = pd.read_csv("sensor_data.csv")
# 查看前5行数据,确认列名与数据格式
print(df.head())
# 列出所有列名,定位S1相关字段
print(df.columns)

2. 合并S1相关列(分两种常见场景)

场景A:同一日期的三个时间点数据按列存储(如S1_temp_6、S1_temp_12、S1_humidity_6等)

这种结构需要先将宽表转换为长表,统一每条记录对应一个时间点:

# 提取S1温度字段,转换为长格式
temp_long = df.melt(
    id_vars=["date"],  # 假设存在`date`列作为日期标识
    value_vars=[col for col in df.columns if "S1_temp" in col],
    var_name="time_point",
    value_name="S1_temp"
)
# 提取S1湿度字段,转换为长格式
humidity_long = df.melt(
    id_vars=["date"],
    value_vars=[col for col in df.columns if "S1_humidity" in col],
    var_name="time_point",
    value_name="S1_humidity"
)
# 合并温度与湿度数据
s1_combined = pd.merge(temp_long, humidity_long, on=["date", "time_point"])
# 提取时间点数值并生成完整datetime列
s1_combined["time_point"] = s1_combined["time_point"].str.extract(r"(\d+)").astype(int)
s1_combined["datetime"] = pd.to_datetime(s1_combined["date"]) + pd.to_timedelta(s1_combined["time_point"], unit="h")

场景B:数据按时间点逐行存储(每行包含datetime、S1_temp、S1_humidity)

这种结构无需合并列,只需确保时间格式正确:

# 将字符串格式的datetime转换为时间类型
df["datetime"] = pd.to_datetime(df["datetime"])
# 筛选出S1的相关数据(若存在其他传感器数据)
s1_combined = df[["datetime", "S1_temp", "S1_humidity"]].copy()

3. 计算日/周/月均值

利用Pandas的resample方法按时间粒度聚合计算:

# 将datetime设为索引,方便时间聚合
s1_combined = s1_combined.set_index("datetime")

# 日均值(按自然日聚合)
daily_mean = s1_combined.resample("D").mean().dropna()
# 周均值(按周一为周起始,可改为"W-SUN"设周日为起始)
weekly_mean = s1_combined.resample("W-MON").mean().dropna()
# 月均值(按自然月聚合)
monthly_mean = s1_combined.resample("M").mean().dropna()

# 打印结果示例
print("日均值:")
print(daily_mean.head())
print("\n周均值:")
print(weekly_mean.head())
print("\n月均值:")
print(monthly_mean.head())

关键注意事项

  • 时间格式校验:必须确保datetime列是Pandas的时间类型,否则resample无法生效。
  • 缺失值处理:若存在缺失的时间点数据,可通过dropna()删除无效行,或用fillna(method="ffill")等方式填充。
  • 聚合粒度调整:resample的参数可灵活修改,比如用"3D"计算3日均值,"Q"计算季度均值。

内容的提问来源于stack exchange,提问作者HasBeen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 08:50:14