罪魁祸首在这里。有了
func=tuple它就可以了,但是using
func=list在编译模块中引发了一个异常
lib.reduce:
ValueError: ('function does not reduce', 0)如您所见,它们捕获了异常,但不必费心去处理它。
即使没有太宽泛的except子句, 这也是pandas中的一个错误
。您可能会尝试在他们的跟踪器上提出该要求,但是类似问题已经解决,但有些无法修复或欺骗。
16321:使用apply()基于当前列创建列表的奇怪行为
15628:当reduce = True时,Dataframe.apply并不总是返回Series
后者的问题已关闭,然后重新打开,并在几个月前转换为docs增强请求,现在似乎已被用作任何相关问题的垃圾场。
大概这不是一个高优先级,因为正如piRSquared所评论(和其中一位熊猫维护者也评论过)一样,您最好使用列表理解功能:
pd.Series([list(x) for x in df.itertuples(index=False)])
通常
apply将使用numpy
ufunc或类似的东西。



