gpt4 book ai didi

python - pandas 中 lambda 函数的正确使用

转载 作者:行者123 更新时间:2023-12-01 01:11:43 26 4
gpt4 key购买 nike

我想将函数应用于 DataFrame,以使用 lambda 创建具有平均值的新数据框,但出现此错误:

TypeError: (“参数‘real’的类型不正确(预期为 numpy.ndarray,得到 Series)”,u'发生在索引 2018-01-02 00:00:00')

这是我的数据:

  AA        AAPL          FB         GOOG        TSLA  
Date
2018-01-02 55.169998 168.987320 181.419998 1065.000000 320.529999
2018-01-03 54.500000 168.957886 184.669998 1082.479980 317.250000
2018-01-04 54.700001 169.742706 184.330002 1086.400024 314.619995
2018-01-05 54.090000 171.675278 186.850006 1102.229980 316.579987
2018-01-08 55.000000 171.037628 188.279999 1106.939941 336.410004
2018-01-09 54.200001 171.018005 187.869995 1106.260010 333.690002

这就是我到目前为止正在尝试的:

data = pd.read_csv('help.csv', parse_dates=True, index_col=0)
sma20 = data.apply(lambda x: ta.SMA(x, 20), axis=0)
print(sma20.tail())

最佳答案

在更新版本的 pandas 中,如果您希望 applyndarray 传递给您的函数,您可以提供 raw=True 参数.

# data.apply(lambda x: ta.SMA(x, 20), axis=0, raw=True)
# Same as,
data.apply(ta.SMA, axis=0, raw=True, args=(20, ))

PS:您不需要 lambda

关于python - pandas 中 lambda 函数的正确使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54800236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com