2017-10-31 15 views
0

それらを合算私はxiは、I = 1,2,3、列の値である。この表乗算行は、Pythonの

F(x) = 1.5*x1 + 2*x2 - 1.5*x3 

に適用する機能を持っています。

私は以下の表を持っています。私はたい

X1 | X2 | X3 
------|------|------ 
20 |15 |12  
30 |17 |24  
40 |23 |36  

所望の出力は、I各行に関数を適用する場合、以下に続く各列の値を取得し、和と別の列として値を受信し、その後反復関数に適用することですデータフレームに追加されます。

X1 | X2 | X3 |F(X) 
------|------|------|------ 
20 |15 |12 |42 
30 |17 |24 |43 
40 |23 |36 |52 

これをPython 2.7で行う方法はありますか?

答えて

0

私の問題を解決するためのサンプルコードを見つけました。

var1 = 1.5 
var2 = 2 
var3 = -1.5 
def calculate_fx(row): 
return (var1 * row['X1']) + (var2 * row['X2']) + (var3 * row['X3']) 

#function_df is the predefined dataframe 
function_df['F(X)'] = function_df.apply(calculate_fx, axis=1) 
function_df 
3

これはなんですか?

df['F(x)']=df.mul([1.5,2,-1.5]).sum(1) 
df 
Out[1076]: 
    X1 X2 X3 F(x) 
0 20 15 12 42.0 
1 30 17 24 43.0 
2 40 23 36 52.0 
+0

Welpは、この質問に対する私自身の回答よりもはるかに短いものです。うまくいく。 – Leggerless

+0

@Leggerless〜ありがとう〜:-) – Wen

+0

答えを承認することを忘れないでください。強大な@Wenを高くして乾燥させたくありません。 – GiantsLoveDeathMetal