我有两个数据帧:
DF1
GOOG AAPL XOM IBM Cash
Date
2009-01-14 NaN 150 NaN NaN NaN
2009-01-21 NaN -150 NaN 400 NaN
DF2
GOOG AAPL XOM IBM Cash
Date
2009-01-14 NaN 100 NaN NaN NaN
2009-01-21 NaN 30 NaN 15 NaN
如何将它们相乘以便我可以创建一个看起来像这样的新DF:我基本上试图查看DF1,看看DF2中是否存在索引和列,如果它们存在,则将它们相乘。
值得注意的是,DF1和DF2的索引可能并不完全相同。所以答案必须考虑到这一点。
GOOG AAPL XOM IBM Cash
Date
2009-01-14 NaN 15000 NaN NaN NaN
2009-01-21 NaN -4500 NaN 6000 NaN
使用concat
和groupby.prod
:
df = pd.concat([df1,df2])
df.groupby(df.index).prod(min_count=1)
GOOG AAPL XOM IBM Cash
Date
2009-01-14 NaN 15000 NaN NaN NaN
2009-01-21 NaN -4500 NaN 6000.0 NaN
使用DataFrame.mul
应该处理索引:
df1.mul(df2)