如何从Polars DataFrame中删除列?解决__delitem__属性错误
正确删除Polars DataFrame列的方法
Polars 不支持像 pandas 那样用 del df["col"] 删除列——它没有实现 __delitem__ 接口,而且Polars默认采用不可变数据模型,操作后会返回新的DataFrame,而非直接修改原对象。下面是几种常用的正确操作方式:
用
.drop()方法(最常用)
删除单列:df = df.drop("target_col")一次性删除多列,传入列名列表即可:
df = df.drop(["col1", "col2", "col3"])用
.select()排除指定列
可以通过exclude参数直接排除目标列:df = df.select(exclude="target_col")也可以用Polars的表达式语法反向选择(适合结合其他筛选逻辑):
import polars as pl df = df.select(~pl.col("target_col"))原地修改(不推荐)
如果你确实需要直接修改原DataFrame,可以用drop_inplace方法,但这不符合Polars的不可变设计理念,可能引发意外副作用:df.drop_inplace("target_col")
内容的提问来源于stack exchange,提问作者user7802048
相关产品推荐
相关产品推荐

