Não consigo usar o pl.exclude()
seletor como índice, pl.DataFrame.unpivot
apesar da documentação desse tipo de método sugerir o index
parâmetro da seguinte maneira.
index: 'ColumnNameOrSelector | Sequence[ColumnNameOrSelector] | None' = None
O código a seguir pode ser usado para reproduzir o erro.
import polars as pl
df = pl.DataFrame({
'foo' : ['one', 'two', 'three'],
'bar' : ['four', 'five', 'six'],
'baz' : [10, 20, 30],
'qux' : [50, 60, 70]
})
column_list = ['baz', 'qux']
df.unpivot(column_list, index=pl.exclude(column_list))
TypeError: argument 'index': 'Expr' object cannot be converted to 'PyString'
Além disso, usar as colunas explicitamente funciona bem.
df.unpivot(column_list, index=['foo', 'bar'])
Então, como os seletores de coluna podem ser usados pl.DataFrame.unpivot
?
pl.exclude
é uma expressão polar "regular" (do tipopl.Expr
). Seletores são objetos especiais (também expressões, mas de um subtipo específicocs._selector_proxy_
) que podem ser encontrados em arquivospl.selectors
.