将复数的Pandas数据框导出到Excel。

3
我正在使用Pandas数据框架,其中包含复数列数据。我正在尝试使用DataFrame.to_excel方法将此数据框架导出到Excel,但会抛出以下错误。
引发ValueError("无法将{0}转换为Excel".format(value))
无法将(1.044574-3496.069365j)转换为Excel
有没有其他解决办法?我的数据框架如下:
Freq        lne_10720_15820_1-lne_10720_18229_1      lne_10720_15820_1  \                                                               
48                (1.044574-3496.069365j)         (7.576632+64.778558j)   
50                (1.049333-3355.448147j)         (7.557604+67.544162j)   
52                (1.054253-3225.613165j)         (7.656567+70.317672j)  

你尝试过在导出之前将变量转换为字符串吗? - Ulf Aslak
不,我不确定它是否内存高效,但如果那是唯一的方法,我会尝试并发布结果。 - rp12808
你是否查看了文档?那里有一个float_format参数,你可以将其设置为'string',或许会有所帮助。 - Ulf Aslak
@UlfAslak,float_format参数用于“格式化”浮点数据类型。例如,float_format="%.2f"将强制所有浮点数据类型在小数点后具有两位数字。 - TerminalWitchcraft
1个回答

0
一个简单的解决方案是将数据框中的变量强制转换为字符串类型,如下所示:
DataFrame = Dataframe.astype(str) 

执行此操作后,每个变量的类型都是object类型,并且可以使用DataFrame.dtypes进行验证。
希望这能帮到你 :)

@UlfAslak..尝试使用float_format作为'%f+j%f'...但是没有起作用。 - rp12808
你的解决方案非常好用,唯一的问题是大括号也被传输到了Excel中。我知道这是因为原始的DataFrame中有它们...但还是感谢你的解决方案。 - rp12808

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接