【发布时间】:2018-11-26 13:41:29
【问题描述】:
我正在从 R 和相对较新的 Python 切换。
我正在尝试完成一个非常简单的任务,稍后会变得更复杂。
我正在尝试按组获取最大值,在这种情况下,组为“符号”,并使用“ClosePrice”列中的最大值创建一个新列。
我正在使用 groupby 和转换:
proccessing_data['Max'] = proccessing_data.groupby('Symbol').transform(lambda x: x.ClosePrice.max(), axis =1)
并返回以下错误:
TypeError: Transform function invalid for data types
我的最终目标实际上是在转换中使用函数:
proccessing_data['RSI'] = proccessing_data.groupby('Symbol').transform(lambda x: talib.RSI(x["ClosePrice"], timeperiod=14), axis =1)
但这会返回相同的错误。
在 R 中我使用的参考:
proccessing_data$RSI_SMA <- ave(proccessing_data$ClosePrice, proccessing_data$Symbol,
FUN = function(x) RSI(x,n = 14, maType = "SMA"))
任何帮助将不胜感激,谢谢!
【问题讨论】:
标签: python pandas typeerror pandas-groupby