为什么df.apply(tuple)有效但df.apply(list)不起作用?

为什么df.apply(tuple)有效但df.apply(list)不起作用?,第1张

为什么df.apply(tuple)有效但df.apply(list)不起作用?

罪魁祸首在这里。有了

func=tuple
它就可以了,但是
usingfunc=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或类似的东西。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5644345.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存