El algoritmo RadViz permite proyectar un conjunto de datos multidimensional en un espacio de dos dimensiones y la función pandas.plotting.radviz implementa este algoritmo, mostrando una gráfica de dos dimensiones con información del dataframe incluido como argumento.
Las características del dataframe son representadas distribuidas uniformemente a lo largo de la circunferencia de un círculo. Cada muestra del dataframe se representa en el interior del círculo de acuerdo con el valor en cada serie según una metáfora física: cada punto se supone unido a cada característica con una fuerza que es proporcional al valor que dicha muestra toma en la serie correspondiente, de forma que la posición final es la posición de equilibrio entre todas las fuerzas que representan las características.
Puedes acceder al artículo original aquí.
Veamos qué resultado ofrece esta función aplicada al dataset iris:
fig, ax = plt.subplots()
fig.set_size_inches(8, 8)
pd.plotting.radviz(iris, "species", ax = ax);
Intuitivamente podemos ver que la característica "sepal_width" toma valores proporcionalmente más elevados en la especie setosa que en versicolor o en virginica, pues los puntos correspondientes a este tipo de flor se muestran más próximos a esta característica que a las otras dos. Podemos confirmar este hecho fácilmente:
iris.groupby("species")["sepal_width"].mean()