我如何将(-0.143704570332567-1.2618680524722614j)转换为 sklearn fit 方法可以使用的东西?

Posted

技术标签:

【中文标题】我如何将(-0.143704570332567-1.2618680524722614j)转换为 sklearn fit 方法可以使用的东西?【英文标题】:How can i convert (-0.143704570332567-1.2618680524722614j) to something sklearn fit method can use? 【发布时间】:2020-10-03 21:47:54 【问题描述】:

我必须将包含此类值的列:(-0.143704570332567-1.2618680524722614j) 转换为 sklearn 中的 fit 方法可以使用的东西。

我得到这个错误:

ValueError:无法将字符串转换为浮点数:'(-0.17904283086526662-1.0019223461852513j)'

当我使用时:self.model.fit(self.X_train, self.y_train)

【问题讨论】:

这是一个复数。你想如何使用它?它从哪里来的?除了你之外,没有人可以为你回答这个问题。 @JanChristophTerasa 我得到的值是 FFT 函数的第一个组件。使用以下方法生成它: self.vector_of_fft_components = np.fft.fft(self.IAT_vector, n = 11) 并使用 outstring = '\t'.join([ str(flow.vector_of_fft_components[1])]) f 写入 csv .write(outstring+'\n')。我需要将此值用于我的逻辑回归分类器,但“fit”方法不能像这样使用它。 【参考方案1】:

首先从字符串转换为复数,然后可以将列拆分为实部和虚部。适合这两个变量应该没有问题,因为它们现在是浮点类型。

df['re'] = df.complex.map(lambda x: complex(x).real)
df['imag'] = df.complex.map(lambda x: complex(x).imag)             
                                  complex        re      imag
0  -0.143704570332567-1.2618680524722614j -0.143705 -1.261868

【讨论】:

以上是关于我如何将(-0.143704570332567-1.2618680524722614j)转换为 sklearn fit 方法可以使用的东西?的主要内容,如果未能解决你的问题,请参考以下文章

我应该如何将 DbContext 实例注入 IHostedService?

如何将图像写入文件?

如何将脚本实现到 LibGDX 中?

我如何将合并的图像用于Swift动画?

我如何将 FMDatabase 存储到 iCloud

如何将字体大小更改为 em