您好我有一个非常简单的场景,我不知道如何通过简单的方法解决。
我有以下数据框:
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
答案 0 :(得分: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