删除 Pandas DataFrame 中的列
虽然使用 del df['column_name'] 成功删除列,但尝试使用 del df.column_name失败。为了理解为什么存在这种差异,我们需要检查 Pandas 的底层数据结构。
Pandas 的数据结构
Pandas DataFrame 由两个主要组件组成:索引 (行标签)和带标签的列。使用 df.column_name 访问列只会检索与该列关联的系列,而不是实际的列对象本身。因此,del df.column_name 不会从 DataFrame 中删除该列。
推荐的删除方法
要从 DataFrame 中删除列,推荐的方法是使用降低()。此方法允许精确控制轴(行或列),并支持列标签和索引。
df = df.drop('column_name', axis=1) # Use column label df = df.drop(df.columns[[0, 1, 3]], axis=1) # Use column indexes
要删除列而不重新分配,请使用 inplace=True。
df.drop('column_name', axis=1, inplace=True)
替代语法
drop() 方法还支持用于指定列的文本语法
df.drop(['column_nameA', 'column_nameB'], axis=1, inplace=True)
通过使用这些推荐的方法,您可以有效、清晰、精确地从 Pandas DataFrame 中删除列。
以上是为什么 `del df.column_name` 无法删除 Pandas DataFrame 中的列?的详细内容。更多信息请关注PHP中文网其他相关文章!