我尝试编写 ML 程序,但在从 csv 扩展数据集中读取复杂数据时遇到问题 from numpy import genfromtxt, savetxt import numpy as np from keras.models import Sequential from keras.layers import Dense # load the dataset dataset = genfromtxt("C:/Users/username/Desktop/dataset/snr_10_tau_09/clear.csv", dtype=complex ,delimiter=",") # split into input (X) and output (y) variables print(dataset[:])我的输出是[[ 1.+0.j 1.+0.j nan+0.j nan+0.j nan+0.j 1.+0.j][ 1.+0.j 1.+0.j nan+0.j nan+0.j nan+0.j 1.+0.j][ 1.+0.j 1.+0.j nan+0.j nan+0.j nan+0.j 1.+0.j]...[nan+0.j nan+0.j nan+0.j nan+0.j nan+0.j nan+0.j]]我的数据的第一个原始示例:1,1,-0.0681107934958098 - 0.321707498751689j,0.000400898877777433 + 0.00114494815465579j,1.14287673226517 - 0.0363472573808049j,1我不明白我的错误在哪里,在我的数据还是我的代码中?当我尝试打印我的数据时,它显示“nan+0.j”我无法正确修复这部分。谢谢。
1 回答
红颜莎娜
TA贡献1842条经验 获得超12个赞
您可以为所有列指定转换器(有 6 列,因此您需要那么多转换器函数):
np.genfromtxt(
your_file_name,
delimiter=',',
dtype=np.complex,
converters={k: lambda x: np.complex(x.replace(b' ', b'').decode()) for k in range(5)}
)
array([ 1.00000000e+00+0.j , 1.00000000e+00+0.j ,
-6.81107935e-02-0.3217075j , 4.00898878e-04+0.00114495j,
1.14287673e+00-0.03634726j, 1.00000000e+00+0.j ])
添加回答
举报
0/150
提交
取消