从 Pandas DataFrame 中删除列
虽然在 DataFrame 本身上使用 del 关键字 (del df.column_name) 可能看起来很直观,这不是在 Pandas 中删除列的推荐方法。可能会出现意外错误,因为 del 关键字从 DataFrame 对象中删除整个列,而不仅仅是其值。
首选方法:使用 drop() 方法
从 DataFrame 中删除列的正确方法是通过 drop() 方法。它允许精确定位和控制删除过程。一般语法为:
df = df.drop('column_name', axis=1)
其中 1 表示列的轴编号(0 表示行)。此方法可确保仅删除指定列,而保留剩余数据不变。
替代语法:使用 columns 关键字
drop() 的替代语法是使用 columns 关键字:
df = df.drop(columns=['column_nameA', 'column_nameB'])
此方法在删除多个时特别有用
就地修改
如果您希望就地修改原始 DataFrame 而不重新分配,请使用:
df.drop('column_name', axis=1, inplace=True)
按列号删除
按位置删除列(number) 而不是标签,请使用:
df = df.drop(df.columns[[0, 1, 3]], axis=1) # df.columns is zero-based pd.Index
使用文本语法
与 columns 关键字类似,您也可以使用文本语法来指定要指定的列被删除:
df.drop(['column_nameA', 'column_nameB'], axis=1, inplace=True)
以上是如何安全地从 Pandas DataFrame 中删除列?的详细内容。更多信息请关注PHP中文网其他相关文章!