如何将复杂的数据帧值转换为python 3中的浮点数?

时间:2017-10-06 19:14:03

标签: python python-3.x pandas floating-point complextype

我有一个数据帧,使用傅里叶变换从时域转换到频域,从而产生虚数/复数值。我需要将DataFrame转换为浮点数才能对数据进行分类。 我怎么转换它?

1 个答案:

答案 0 :(得分:1)

df = pd.DataFrame([complex(x,y) for x,y in 
          zip(np.random.randn(3),np.random.randn(3))])
print(df)

Out:
                                  0
0  (0.815555184453+0.942659258939j)
1  (0.725136694628+0.999826686401j)
2  (0.311981899931+0.309615235755j)

如果你想要复数的大小,你可以取模数(极坐标为r):

df.applymap(np.absolute)

Out:
          0
0  1.246490
1  1.235102
2  0.439539

如果您想丢失虚构组件,可以转换为浮点数:

df.astype(np.float64)

Out:
          0
0  0.815555
1  0.725137
2  0.311982