2016-04-25 14 views
1

私は、r1からr4と2つの列( "c1"と "c2")という4行のデータフレームを持っています。このデータフレーム/マトリックス中の値(擬似コード)のように「 IJ 」です:パンダのデータフレームの行を掛ける

dataframe = c1 c2 
      r1 a11 a12 
      r2 a21 a22 
      r3 a31 a32 
      r4 a41 a42 

私は今、非常に効率的な方法(多くの多くの列を考える)で、積を計算したいと思います行の

具体的に、私はそのI番目の要素として、すべての行の積有し、列の数に等しい要素の数とリストを形成したい:私は実際に

list_ = [a11 * a21 * a31 * a41, a12 * a22 * a32 * a42] 

を何千もの列が、約4行しかありません。

私はdataframeの "sum(...)"関数( "axis"引数)を見ました。これは必要なものですが、乗算版です。これを行う方法がわかりません。必要に応じて

+1

それはいいだろう私たちの端末に接続して遊んでください。あなたが投稿したものは、実際にはまったく動かないでしょう。 – ChrisP

答えて

1

あなたはすべての要素の積を計算しますprodを使用することができますIIUC列方向には、あなたはその結果にtolistを呼び出すことができます。私たちはコピーできますが、いくつかのコードを投稿場合

In [23]: 
df = pd.DataFrame(np.arange(12).reshape(4,3), columns=list('abc')) 
df 
​ 
Out[23]: 
    a b c 
0 0 1 2 
1 3 4 5 
2 6 7 8 
3 9 10 11 

In [26]: 
df.prod() 

Out[26]: 
a  0 
b 280 
c 880 
dtype: int64 

In [25]: 
df.prod().tolist() 

Out[25]: 
[0, 280, 880] 
+0

2つの特定の行だけを乗算するにはどうすればいいですか(たとえば '2'と' 3')? – Sigur

関連する問題