尽管此方法类型的文档提示参数如下,但我无法使用pl.exclude()
选择器作为索引。pl.DataFrame.unpivot
index
index: 'ColumnNameOrSelector | Sequence[ColumnNameOrSelector] | None' = None
以下代码可用于重现该错误。
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'
此外,明确使用列也可以正常工作。
df.unpivot(column_list, index=['foo', 'bar'])
那么,如何使用列选择器pl.DataFrame.unpivot
?
pl.exclude
是“常规”极坐标表达式(类型)。选择器是可以在中找到的pl.Expr
特殊对象(也是表达式,但属于特定子类型) 。cs._selector_proxy_
pl.selectors