当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Python pyspark DataFrame.swaplevel用法及代码示例

本文简要介绍 pyspark.pandas.DataFrame.swaplevel 的用法。

用法:

DataFrame.swaplevel(i: Union[int, Any, Tuple[Any, …]] = - 2, j: Union[int, Any, Tuple[Any, …]] = - 1, axis: Union[int, str] = 0) → pyspark.pandas.frame.DataFrame

在特定轴上的 MultiIndex 中交换级别 i 和 j。

参数

i, jint 或 str

要交换的索引的级别。可以将级别名称作为字符串传递。

axis{0 或 ‘index’,1 或 ‘columns’},默认 0

交换级别的轴。 0 或 ‘index’ 表示按行,1 或 ‘columns’ 表示按列。

返回

DataFrame

DataFrame 在 MultiIndex 中交换了级别。

例子

>>> midx = pd.MultiIndex.from_arrays(
...     [['red', 'blue'], [1, 2], ['s', 'm']], names = ['color', 'number', 'size'])
>>> midx  
MultiIndex([( 'red', 1, 's'),
            ('blue', 2, 'm')],
           names=['color', 'number', 'size'])

交换索引上 MultiIndex 中的级别。

>>> psdf = ps.DataFrame({'x': [5, 6], 'y':[5, 6]}, index=midx)
>>> psdf  
                   x  y
color number size
red   1      s     5  5
blue  2      m     6  6
>>> psdf.swaplevel()  
                   x  y
color size number
red   s    1       5  5
blue  m    2       6  6
>>> psdf.swaplevel(0, 1)  
                   x  y
number color size
1      red   s     5  5
2      blue  m     6  6
>>> psdf.swaplevel('number', 'size')  
                   x  y
color size number
red   s    1       5  5
blue  m    2       6  6

交换列上 MultiIndex 中的级别。

>>> psdf = ps.DataFrame({'x': [5, 6], 'y':[5, 6]})
>>> psdf.columns = midx
>>> psdf
color  red blue
number   1    2
size     s    m
0        5    5
1        6    6
>>> psdf.swaplevel(axis=1)
color  red blue
size     s    m
number   1    2
0        5    5
1        6    6
>>> psdf.swaplevel(axis=1)
color  red blue
size     s    m
number   1    2
0        5    5
1        6    6
>>> psdf.swaplevel(0, 1, axis=1)
number   1    2
color  red blue
size     s    m
0        5    5
1        6    6
>>> psdf.swaplevel('number', 'color', axis=1)
number   1    2
color  red blue
size     s    m
0        5    5
1        6    6

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.pandas.DataFrame.swaplevel。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。