2017-10-06 39 views

回答

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 
+0

df.applymap(np.absolute)給出了一個錯誤massege:KeyError異常:(「ufunc '絕對' 不含有與簽名匹配類型DTYPE( ' sara

+0

從你的錯誤消息猜測你有包含字符串(長度爲22個字符)的字段。請提供您問題的示例數據。 –

+0

如果您只想將一列複數數字轉換爲實數(幅度),您可以使用'df [colname] .apply(np.absolute)' –

相關問題