2017-10-18 2 views
0

私は2つのデータフレームを取り、それらを掛け合わせて3番目のフレームを作りたいと思っています。 他の2つのデータフレームを乗算して生成すると、パンダのデータフレームのすべての値を一度にどのように設定しますか?

  MY NAME IS SLIM_SHADY 
Date             
2011-01-10 4  4 4  4 
2011-01-13 4  4 4  4  
2011-01-13 4  4 4  4 
2011-01-26 4  4 4  4 

がどのように私は1行でこれを行うのですか、私は

  HI BYE HE HER 
Date             
2011-01-10 2  2 2 2 
2011-01-13 2  2 2 2  
2011-01-13 2  2 2 2 
2011-01-26 2  2 2 2 

  BRO CHICK DUDE MAN 
Date             
2011-01-10 2  2 2  2 
2011-01-13 2  2 2  2  
2011-01-13 2  2 2  2 
2011-01-26 2  2 2  2 

を持っていると私がしたいと言いますか?

答えて

3

.valuesを使用してnp.arrayに変換し、要素ごとの乗算を実行します。

df = pd.DataFrame(df1.values * df2.values, 
     index=df1.index, columns="MY NAME IS SLIM_SHADY".split()) 
print(df) 
      MY NAME IS SLIM_SHADY 
Date         
2011-01-10 4  4 4   4 
2011-01-13 4  4 4   4 
2011-01-13 4  4 4   4 
2011-01-26 4  4 4   4 

もう一つの方法は、インデックスの名前を変更し、その後df.mulを呼び出すために、次のようになります。

df2.columns = df1.columns # could also add df2.index = df1.index for security 
df = df1.mul(df2) 
df.columns="MY NAME IS SLIM_SHADY".split() 

print(df) 
      MY NAME IS SLIM_SHADY 
Date         
2011-01-10 4  4 4   4 
2011-01-13 4  4 4   4 
2011-01-13 4  4 4   4 
2011-01-26 4  4 4   4 
+0

私は最初のものを好みます。君は? – dirtysocks45

+0

@ dirtysocks45同じですが、それは秒よりずっときれいです。 –

+0

ベクトル化に関する私の他の質問をチェックしてもよろしいですか?受け入れられた答えに対する私の最後のコメントには質問があります。 – dirtysocks45

関連する問題