Python 将序列与DataFrame相乘,其中Series.index==DataFrame.columns
嗨,我有一个非常简单的场景,我不知道如何通过一个简单的方法来解决 我有以下数据帧:Python 将序列与DataFrame相乘,其中Series.index==DataFrame.columns,python,pandas,numpy,Python,Pandas,Numpy,嗨,我有一个非常简单的场景,我不知道如何通过一个简单的方法来解决 我有以下数据帧: 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]},
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
现在我想把dd中的每一列乘以d中该索引的值。本质上,我试图为以下循环找到一个向量运算:
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
你可以
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