2016-04-29 97 views
0

我有這種類型的柱的數據幀從塔中減去值(從中找到的變化):熊貓:

magnetic_mag 
34.451282394 
44.81445845 
24.833269553 
25.032404588 
22.027024464 

我想找到的每一個值的從30變化(如果該值以上30所以我要減去30從它,如果它的下面我想減去本身的價值從30),所以在數據幀輸出列應該是這樣的:

magnetic_mag 
    4.451282394 
    14.81445845 
    5.166730447 
    4.967595412 
    7.972975536 

任何簡單的方法來做到這一點與熊貓?

編輯: 如果我想低於30的值與( - )符號(負)可能嗎? 所需輸出:

magnetic_mag 
     4.451282394 
     14.81445845 
     -5.166730447 
     -4.967595412 
     -7.972975536 

謝謝!

回答

2

你可以只減去30,並呼籲abs

(df["magnetic_mag"] - 30).abs() 
Out[23]: 
0  4.451282 
1 14.814458 
2  5.166730 
3  4.967595 
4  7.972976 
Name: magnetic_mag, dtype: float64 
+0

如果我想負值爲負這可能嗎? – ValientProcess

+1

刪除abs ... –

2

的變化:

import numpy as np 

np.where(df['magnetic_mag']>30, df['magnetic_mag']-30, 30-df['magnetic_mag']) 
#Out[100]: array([ 4.45128239, 14.81445845, 5.16673045, 4.96759541, 7.97297554])