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

Python中导入含x+yj复数的CSV数据计算均值出现TypeError如何修复

问题修复方案

你遇到的报错是因为读取csv时强制指定了dtype='str',所有数据都被加载为字符串类型,无法直接参与数值运算。Python原生支持x+yj格式的复数解析,按以下步骤修改即可:

方案1:读取时直接指定复数类型

如果csv内所有字段都是复数格式,直接修改读文件代码:

import pandas as pd
import numpy as np

laser1 = pd.read_csv("laser only\\laser only 1.csv", delimiter=',', dtype=np.complex128)
laser2 = pd.read_csv("laser only\\laser only 2.csv", delimiter=',', dtype=np.complex128)

读取完成后直接提取列即可正常运算:

lt1 = laser1.values[1:, 0:1] 
lt2 = laser2.values[1:, 0:1]
lt_avg = (lt1 + lt2)/2

方案2:先读取为字符串再转换类型

如果csv内存在其他非复数格式的字段,需要保留dtype='str'的读取配置,提取列后手动做类型转换即可:

# 提取列后转换为复数类型
lt1 = laser1.values[1:, 0:1].astype(np.complex128)
lt2 = laser2.values[1:, 0:1].astype(np.complex128)
lt_avg = (lt1 + lt2)/2

异常排查

如果转换时报格式错误,先检查对应列的单元格内容,清理掉多余的空格、特殊字符后再做转换即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 09:06:04