【发布时间】:2020-05-06 08:31:35
【问题描述】:
我正在尝试按总列对数据框进行排序:
df.sort_values(by='Total', ascending=False, axis=0, inplace =True)
但我收到以下警告:
/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:1: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
"""Entry point for launching an IPython kernel.
当我点击链接时,它会打开并建议使用.loc 方法。但在那之后,我关注了.sort_values(),在那里我发现使用 inplace = False 或 None。
我的问题是,如果我有一个未排序的数据框列,并且如果我不使用 inplace = True,我的数据框将被排序以供进一步使用,或者我必须为数据框分配一个新名称并保存它。
【问题讨论】:
-
我遇到了完全相同的问题,我不认为 inplace = True 应该这样做,但我对此很不屑一顾,所以我犹豫说这是一个错误,它看起来像它给我。我放弃了就地,而是分配了数据框,一切都很好。 inplace 确实在您提供的链接上支持 True
-
@JulianMoore 同意。这是我眼中的一个错误。
标签: python-3.x pandas