2017-08-17 14 views
1

こんにちは私は単純な方法で解決する方法がわからない非常に単純なシナリオを持っています。DataFrameでSeriesを掛け合わせます。series.index == dataframe.columns

私は、次のデータフレームを持っている:

In [30]: d = pd.DataFrame([1,2,3], index=['A', 'B', 'C']) 

In [31]: d 
Out[31]: 
    0 
A 1 
B 2 
C 3 

In [32]: dd = pd.DataFrame({"A":[1,2,3], "B":[10,20,30], "C":[100, 200, 300]}, 
          index=["A", "B", "C"]) 

In [33]: dd 
Out[33]: 
    A B C 
A 1 10 100 
B 2 20 200 
C 3 30 300 

私は今、dはそのインデックスの値とDDのすべての列を乗算します。基本的に私は、次のループのベクトル演算を見つけようとしている:

In [55]: for i in d.index: 
    dd[i] *= d.ix[i][0] 
    ....:  

In [56]: dd 
Out[56]: 
    A B C 
A 1 20 300 
B 2 40 600 
C 3 60 900 

答えて

3

あなたは可能性があり

In [173]: dd * d[0] 
Out[173]: 
    A B C 
A 1 20 300 
B 2 40 600 
C 3 60 900 

In [174]: dd *= d[0] 

In [175]: dd 
Out[175]: 
    A B C 
A 1 20 300 
B 2 40 600 
C 3 60 900 

あるいは、

In [179]: dd.mul(d[0]) 
Out[179]: 
    A B C 
A 1 20 300 
B 2 40 600 
C 3 60 900 
関連する問題