market ['AAPL']是苹果每日股票回报的数据框
我注意到:
market['AAPL'].apply(lambda x: np.exp(x))
market['AAPL'].apply(lambda x: np.cumprod(np.exp(x)))
两者都给出相同的结果为什么np.cumprod不起作用?
尝试以下代码:
import pandas as pd
import numpy as np
dict = {"pop": [1,2,3,4,5,6] }
df = pd.DataFrame(dict)
print(df['pop'].apply(lambda x: np.cumprod(np.exp(x))[0]))
0 2.718282
1 7.389056
2 20.085537
3 54.598150
4 148.413159
5 403.428793
Name: pop, dtype: float64
因为x
是数字,所以np.exp
是数字,并且一个数字的乘积本身就是。
您可能打算将累积乘积应用于AAPL列。那是行不通的,因为.apply
每行都有效。
相反,尝试这样的事情:
import pandas as pd
import numpy as np
aapl = {"AAPL": np.linspace(1, 2, 10)}
df = pd.DataFrame(appl)
df['cum-AAPL'] = np.exp(df['AAPL']).cumprod())