栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

罪魁祸首在这里。有了

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
或类似的东西。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/650793.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号