【发布时间】:2018-04-09 03:14:52
【问题描述】:
我有一个如下所示的 DataFrame:
Date Last portfolioID FinancialInstrument
1 2018-03-28 64.67 1 Oil
2 2018-03-29 64.91 1 Oil
3 2018-04-02 62.85 1 Oil
4 2018-04-03 63.57 1 Oil
5 2018-04-04 63.56 1 Oil
6 2018-04-05 63.73 1 Oil
7 2018-04-06 61.93 1 Oil
8 2018-03-23 65.74 3 Oil
9 2018-03-26 65.49 3 Oil
10 2018-03-27 64.67 3 Oil
11 2018-03-28 64.67 3 Oil
12 2018-03-29 64.91 3 Oil
13 2018-04-02 62.85 3 Oil
14 2018-04-03 63.57 3 Oil
15 2018-04-04 63.56 3 Oil
16 2018-04-05 63.73 3 Oil
17 2018-04-06 61.93 3 Oil
18 2018-04-02 62.85 5 Oil
19 2018-04-03 63.57 5 Oil
20 2018-04-04 63.56 5 Oil
21 2018-04-05 63.73 5 Oil
22 2018-04-06 61.93 5 Oil
还有一个如下所示的 NumPy 数组:
[ 152.69506795 76.05719501 127.28719173]
我正在使用 portfolioID 对 DataFrame 进行分组,其中第一个分组与 NumPy 数组中的第一个值相关,第二个组与 NumPy 数组中的第二个值相关,等等。我的问题是,有没有一种方法可以相乘DataFrame 中的Last 列及其对应的 NumPy 数组值?
这是我所拥有的,但我收到一条错误消息,指出“长度必须相等”。
shares 是 NumPy 数组:
for pid, group in data.groupby('portfolioID'):
lastCol = group.Last
clumN = lastCol.multiply(shares, axis=0)
【问题讨论】:
标签: python arrays pandas numpy