为什么重命名熊猫中的列这么慢?

彼得

给定一个较大的数据框(在我的情况下为250M行和30 col),为什么只更改列名然后这么慢?

我正在使用,df.rename(columns={'oldName':'newName'},inplace=True)因此它不应复制任何数据,但要花费30秒钟以上,而我希望这大约是毫秒(因为它只是将一个字符串替换为另一个字符串)。

我知道,那是一张巨大的桌子,比大多数人的计算机中有更多内存(因此我也不会添加示例代码)要多得多,但这仍然不应该花费大量时间,因为它实际上并没有碰到任何东西。的数据。为什么要花这么长时间,即为什么重命名一列会与我的数据帧的行数成比例

广晃

我认为inplace=True不会复制您的数据。关于SO有一些讨论,说它确实复制了,然后再分配回去。另请参阅此github问题

您可以使用以下方法覆盖列:

df.columns = df.columns.to_series().replace({'a':'b'})

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章