Pandas concat()传参报错:参数0的作用及删除是否安全?
问题解答
这个
0参数的作用:
在Pandas 1.x及更早版本中,concat函数的axis参数允许通过位置传入,0对应的是axis=0,代表按行方向拼接(纵向合并多个DataFrame,将它们的行堆叠在一起),这也是concat函数的默认行为。直接删除是否安全:
完全安全。因为axis=0是concat的默认参数值,删掉这个0后,pandas.concat(dataFrameList)的执行效果和原代码完全一致。如果想让代码兼容性更强(同时适配新旧Pandas版本),也可以显式写成pandas.concat(dataFrameList, axis=0),避免位置参数的歧义。报错原因补充:
Pandas 2.0之后对concat的函数签名做了调整,强制要求除了第一个参数(待拼接的对象序列)之外,其他参数必须使用关键字参数传入,不再支持位置传参,所以直接传第二个位置参数0会触发TypeError。
内容的提问来源于stack exchange,提问作者Fravadona
相关产品推荐
相关产品推荐

