Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。本文主要介绍一下Pandas中pandas.DataFrame.reorder_levels方法的使用。

DataFrame.reorder_levels(self, order, axis=0) → ’DataFrame’     [source]

使用输入顺序重新排列索引levels。可能不会下降或重复的levels。

参数:

order : int类型的list或 str类型的list

代表新级别order的列表。参考级别按number(position)或key(label)。

axis : int

在哪重新排序levels

返回值:

DataFrame

例子,

  index = MultiIndex(levels=[['bar'], ['one', 'two', 'three'], [0, 1]],
                   labels=[[0, 0, 0, 0, 0, 0],
                           [0, 1, 2, 0, 1, 2],
                           [0, 1, 0, 1, 0, 1]],
                   names=['L0', 'L1', 'L2'])
df = DataFrame({'A': np.arange(6), 'B': np.arange(6)}, index=index)
# no change, position
result = df.reorder_levels([0, 1, 2])
assert_frame_equal(df, result)
# no change, labels
result = df.reorder_levels(['L0', 'L1', 'L2'])
assert_frame_equal(df, result)
# rotate, position
result = df.reorder_levels([1, 2, 0])
e_idx = MultiIndex(levels=[['one', 'two', 'three'], [0, 1], ['bar']],
                   labels=[[0, 1, 2, 0, 1, 2],
                           [0, 1, 0, 1, 0, 1],
                           [0, 0, 0, 0, 0, 0]],
                   names=['L1', 'L2', 'L0'])
expected = DataFrame({'A': np.arange(6), 'B': np.arange(6)},
                     index=e_idx)

官方文档https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.reorder_levels.html#pandas.DataFrame.reorder_levels

推荐文档

相关文档

大家感兴趣的内容

随机列表