熊猫弃用警告 to_dict()

Posted

技术标签:

【中文标题】熊猫弃用警告 to_dict()【英文标题】:pandas deprecated warning to_dict() 【发布时间】:2020-11-05 10:43:10 【问题描述】:

我收到了这个已弃用的警告:

Using short name for 'orient' is deprecated. Only the options: ('dict', list, 'series', 'split', 'records', 'index') will be used in a future version. Use one of the above to silence this warning.

当使用这些行中的任何一个时:

df.to_dict('records')
df.to_dict(orient='records')
df.to_dict(orientation='records')

熊猫 v1.1.3 python v3.7.1

【问题讨论】:

嗯,第一次和第二次引发错误? 来自source code 以及我希望'records' 不会触发此警告的警告。另外我想知道为什么orientation=... 在这里是一个有效的关键字参数。如果不运行代码,我预计您的第三行会出错。 @Amir(抱歉)问题是为什么会发出警告。据我了解警告,我不应该使用 df.to_dict(orient='records') 而只是 df.dict('records') 这是我所做的 @NiklasMertsch 是的,没有收到第三行的错误也让我感到困惑。 我在我的安装中得到了预期的结果:orientation 引发错误,'records'orient='records' 工作正常,'orient='r'' 导致所描述的警告并且也可以工作。 【参考方案1】:

警告说“orient”已被弃用。像这样使用它:

df.to_dict('records')

不要使用orient='',而是直接使用('dict', list, 'series', 'split', 'records', 'index'),例如:

df.to_dict('dict')

df.to_dict('list')

【讨论】:

这正是我的假设,警告信息会说。但是 df.to_dict('records') 仍然引起警告【参考方案2】:

我对同样的警告感到困惑。后来我发现我用的是“记录”而不是“记录”。在任何情况下,您都可以在文件“pandas/core/frame.py”中插入print(orient) 行,在警告前1485 附近的一行。

【讨论】:

'records' 而不是 'records' 对我不起作用【参考方案3】:

当我使用以下代码行时,我收到了同样的警告:df.to_dict('records'),但是当我尝试df.to_dict(orient = 'records') 时,警告消失了。

【讨论】:

以上是关于熊猫弃用警告 to_dict()的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB 弃用警告

警告 onRowClick 已弃用

修复弃用警告

AppAuth 的弃用警告

CRT 弃用警告

使用 Mongoose 时的 MongoDB 弃用警告