点赞发Nature 关注中Science
dataframe整体做乘法时,不需要借助其他方法,直接a*b即可
>>> import pandas
as pd
>>> import numpy
as np
>>> a
= pd
.DataFrame
([1,2,3])
>>> b
= pd
.DataFrame
([2,5,3])
>>> a
*b
0
0 2
1 10
2 9
但是,如果想要选取某行或某列做乘法,要使用loc方法,此时则会变成矩阵乘法
>>> a
= pd
.DataFrame
([[1,2,3],[2,3,4]])
>>> a
*b
0 1 2
0 2.0 NaN NaN
1 10.0 NaN NaN
2 NaN NaN NaN
>>> b
= pd
.DataFrame
([[2,5,3],[2,3,4]])
>>> a
*b
0 1 2
0 2 10 9
1 4 9 16
>>> a
.loc
[:,0]*b
.loc
[:,0]
0 2
1 4
如果要使用loc方法,选取dataframe总的某行或某列来做元素乘法,则需要借助numpy.array
np
.array
(a
.loc
[:,0])*np
.array
(b
.loc
[:,0])