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

Pandas读取CSV后如何跳过Zeit列对其余Kanal列执行乘1000运算

问题分析
  • 现有代码存在两个核心问题:
    • 使用skipcols = [0]参数会直接丢弃Zeit列,导致最终DataFrame缺少所需的时间维度数据
    • 对完整DataFrame执行mul(1000)操作会连同Zeit列一起做乘法,不符合保留原始时间值的需求
调整后代码
if a['Kanal A'][0] == '(V)':
    # 移除skipcols参数,保留Zeit列
    df6 = pd.read_csv(MU6, sep = ';', skiprows=[1,2], dtype=float, decimal=',')
    # 仅对Kanal A到Kanal D四列执行乘1000操作
    df6[['Kanal A', 'Kanal B', 'Kanal C', 'Kanal D']] *= 1000

如果Kanal列的顺序固定为第2到第5列(列索引为1到4),也可以用索引批量选择,简化代码:

if a['Kanal A'][0] == '(V)':
    df6 = pd.read_csv(MU6, sep = ';', skiprows=[1,2], dtype=float, decimal=',')
    # 选择除第一列外的所有列做乘法
    df6.iloc[:, 1:] *= 1000
可选优化

如果后续需要标注单位变化,可直接修改列名:

df6.rename(
    columns={
        'Kanal A': 'Kanal A (mV)',
        'Kanal B': 'Kanal B (mV)',
        'Kanal C': 'Kanal C (mV)',
        'Kanal D': 'Kanal D (mV)'
    },
    inplace=True
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 22:51:03