Numpy Lambda函数未按预期工作

2024-04-29 13:52:42 发布

您现在位置:Python中文网/ 问答频道 /正文

market['AAPL']是一个包含苹果每日股票回报的数据框架

我注意到:

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

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

两者的结果相同 为什么np.cumprod不工作


Tags: 数据lambda苹果框架npmarket股票apply
2条回答

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

您可能想在AAPL列中应用累积乘积。您当前的尝试无效,因为每行.apply有效。因此,每次为单个数字调用np.cumprod,而不是为数字数组调用

相反,请尝试以下方法:

import pandas as pd
import numpy as np

aapl = {"AAPL": np.linspace(1, 2, 10)}
df = pd.DataFrame(appl)
# Calculate exp for the column, then calculate 
# the cumulative product over the column
df['cum-AAPL'] = np.exp(df['AAPL']).cumprod())

相关问题 更多 >