pandas.DataFrame.swaplevel#
- DataFrame.swaplevel(i=- 2, j=- 1, axis=0)[源代码]#
中交换级别i和j。
MultiIndex
。默认情况下,调换指数最里面的两个级别。
- 参数
- i, j整型或字符串
要交换的索引的级别。可以将级别名称作为字符串传递。
- axis{0或‘index’,1或‘Columns’},默认为0
要在其上交换标高的轴。行方式为0或‘index’,列方式为1或‘Columns’。
- 退货
- DataFrame
在多索引中交换了级别的DataFrame。
示例
>>> df = pd.DataFrame( ... {"Grade": ["A", "B", "A", "C"]}, ... index=[ ... ["Final exam", "Final exam", "Coursework", "Coursework"], ... ["History", "Geography", "History", "Geography"], ... ["January", "February", "March", "April"], ... ], ... ) >>> df Grade Final exam History January A Geography February B Coursework History March A Geography April C
在下面的示例中,我们将交换指数的级别。在这里,我们将按列交换级别,但也可以以类似的方式按行交换级别。请注意,按列排列是默认行为。通过不为i和j提供任何参数,我们交换了最后一个索引和倒数第二个索引。
>>> df.swaplevel() Grade Final exam January History A February Geography B Coursework March History A April Geography C
通过提供一个参数,我们可以选择与哪个索引交换最后一个索引。例如,我们可以将第一个索引与最后一个互换,如下所示。
>>> df.swaplevel(0) Grade January History Final exam A February Geography Final exam B March History Coursework A April Geography Coursework C
我们还可以通过同时提供i和j的值来明确定义要交换哪些索引。在这里,我们例如交换第一个和第二个索引。
>>> df.swaplevel(0, 1) Grade History Final exam January A Geography Final exam February B History Coursework March A Geography Coursework April C