Numpy Lambda函数无法正常工作

问题描述 投票:0回答:3

market ['AAPL']是苹果每日股票回报的数据框

我注意到:

market['AAPL'].apply(lambda x: np.exp(x))

market['AAPL'].apply(lambda x: np.cumprod(np.exp(x)))

两者都给出相同的结果为什么np.cumprod不起作用?

python numpy
3个回答
0
投票

尝试以下代码:

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

0
投票

因为x是数字,所以np.exp是数字,并且一个数字的乘积本身就是。


0
投票

您可能打算将累积乘积应用于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())
© www.soinside.com 2019 - 2024. All rights reserved.