熊猫弃用警告 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()的主要内容,如果未能解决你的问题,请参考以下文章