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

Pandas编辑传感器DataFrame及导出Excel的三类技术问题咨询

传感器CSV数据处理解决方案

问题1:删除Time A[s]=0对应的前3列数据,保留后续列所有数据

你的原代码错误在于使用pd.concat(..., join="inner"),这会连带删除后续列中对应前3列过滤掉的行,不符合“保留第4列及以后所有数据”的要求。正确逻辑是:仅清空前3列中Time A[s]=0的行数据,后续列完整保留。

修正代码:

import pandas as pd

# 读取原始数据
alldata = pd.read_csv(r"C:\Users\max\Desktop\Input data.csv")
time_a_col = ' Time sensor A[s]'

# 复制原表避免修改原始数据
result = alldata.copy()

# 定位Time A[s]=0的行,将对应前3列设为空白(NaN)
mask = result[time_a_col] == 0
result.loc[mask, result.columns[:3]] = pd.NA

# 若需求是直接移除前3列中符合条件的行(保留后续列全量),也可这么写:
# df1_filtered = alldata.iloc[:, :3][alldata[time_a_col] != 0]
# df2 = alldata.iloc[:, 3:]
# result = pd.concat([df1_filtered, df2], axis=1)

问题2:数百列数据高效导出Excel

默认to_excel效率偏低,推荐以下优化方案:

方案1:使用xlsxwriter引擎

xlsxwriter对大数据量的写入速度优于默认引擎:

# 关闭索引可进一步提升速度(若不需要索引列)
result.to_excel(r"C:\Users\max\Desktop\data2.xlsx", engine='xlsxwriter', index=False)

方案2:先导出CSV再转Excel

CSV写入速度远快于Excel,若无需复杂格式,可先存为CSV再用Excel转存:

result.to_csv(r"C:\Users\max\Desktop\data2.csv", index=False)

方案3:openpyxl写入模式

若需要保留格式,用openpyxl的write_only模式减少内存占用:

from openpyxl import Workbook

wb = Workbook(write_only=True)
ws = wb.create_sheet()

# 写入表头
ws.append(result.columns.tolist())
# 逐行写入数据
for row in result.itertuples(index=False):
    ws.append(list(row))

wb.save(r"C:\Users\max\Desktop\data2.xlsx")

问题3:相同时间数据合并到同一行

根据数据结构分两种场景处理:

场景1:存在重复时间行,合并同时间的多行数据

按时间列分组,根据列类型选择聚合方式(非数值列取首个值,数值列取均值/求和等):

# 假设统一时间列名为'Time'
merged_data = result.groupby('Time').agg({
    'Sensor A Value 1': 'first',  # 非数值列保留第一个有效值
    'Sensor A Value 2': 'mean',   # 数值列取平均值
    'Sensor B Value 1': 'sum',    # 数值列求和
    # 其他列按需设置聚合规则
}).reset_index()

场景2:Sensor A与Sensor B按时间匹配合并

若两类传感器各有时间列,需按时间对齐合并:

# 拆分两类传感器数据
sensor_a = result.iloc[:, :3].dropna(subset=[time_a_col])
sensor_b = result.iloc[:, 3:]
time_b_col = 'Time sensor B[s]'  # 假设Sensor B的时间列名

# 按时间列合并(how参数可选'outer'/'inner'/'left',按需选择)
merged_data = pd.merge(sensor_a, sensor_b, left_on=time_a_col, right_on=time_b_col, how='outer')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 10:30:48