pyspark.pandas.DataFrame.swapaxes

DataFrame.swapaxes(i: Union[int, str], j: Union[int, str], copy: bool = True) → pyspark.pandas.frame.DataFrame

Interchange axes and swap values axes appropriately.

Note

This method is based on an expensive operation due to the nature of big data. Internally it needs to generate each row for each value, and then group twice - it is a huge operation. To prevent misusage, this method has the ‘compute.max_rows’ default limit of input length, and raises a ValueError.

>>> from pyspark.pandas.config import option_context
>>> with option_context('compute.max_rows', 1000):  
...     ps.DataFrame({'a': range(1001)}).swapaxes(i=0, j=1)
Traceback (most recent call last):
  ...
ValueError: Current DataFrame has more then the given limit 1000 rows.
Please set 'compute.max_rows' by using 'pyspark.pandas.config.set_option'
to retrieve to retrieve more than 1000 rows. Note that, before changing the
'compute.max_rows', this operation is considerably expensive.
Parameters
i: {0 or ‘index’, 1 or ‘columns’}. The axis to swap.
j: {0 or ‘index’, 1 or ‘columns’}. The axis to swap.
copybool, default True.
Returns
DataFrame

Examples

>>> psdf = ps.DataFrame(
...     [[1, 2, 3], [4, 5, 6], [7, 8, 9]], index=['x', 'y', 'z'], columns=['a', 'b', 'c']
... )
>>> psdf
   a  b  c
x  1  2  3
y  4  5  6
z  7  8  9
>>> psdf.swapaxes(i=1, j=0)
   x  y  z
a  1  4  7
b  2  5  8
c  3  6  9
>>> psdf.swapaxes(i=1, j=1)
   a  b  c
x  1  2  3
y  4  5  6
z  7  8  9