猿问

多索引 - 无法在一行中对多个索引进行排序

我正在尝试使用以下代码对 Python 中的多个索引进行排序,这给了我代码下面提供的错误:


raw_data.sort_index(level='employee_id',ascending=False,inplace=True).sort_index(level='PAYCODE_ID',ascending=True,inplace=True)


---------------------------------------------------------------------------

AttributeError                            Traceback (most recent call last)

<ipython-input-732-d2ad9fdef0b4> in <module>

----> 1 raw_data.sort_index(level='employee_id',ascending=False,inplace=True).sort_index(level='PAYCODE_ID',ascending=True,inplace=True)


AttributeError: 'NoneType' object has no attribute 'sort_index'

我认为在第一个“sort_index”方法之后,python 结果变成“None”对象类型。根据 python 文档,如果“inplace”参数设置为 True,则返回对象将是一个数据框。

另请注意,当我将方法拆分为以下两行代码时,它将排序结果存储到 raw_data 数据帧中:

raw_data.sort_index(level='employee_id',ascending=False,inplace=True)
raw_data.sort_index(level='PAYCODE_ID',ascending=True,inplace=True)


一只甜甜圈
浏览 88回答 1
1回答

SMILET

如果传递inplace=Trueto&nbsp;sort_index,该函数将就地运行并返回None。因此,inplace=True如果您想链接命令,请删除并分配回来,或者像您发布的那样执行两个单独的命令。此外,您还可以将多个级别传递给sort_indexraw_data.sort_index(level=['employee_id',&nbsp;'PAYCODE_ID'], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ascending=[False,&nbsp;True],inplace=True)
随时随地看视频慕课网APP

相关分类

Python
我要回答