如何删除 Pandas DataFrame 列
Jinku Hu
2023年1月30日
Pandas
Pandas DataFrame
Pandas DataFrame Column
本文介绍了多种删除 Pandas 中 DataFrame 列的方法,
del方法df.drop方法df.pop方法
在本文中,我们将使用相同的 DataFrame 来演示不同的删除方法。
>>> from pandas import DataFrame
>>> df = DataFrame.from_items(
[('Alfa', [1, 2, 3]),
('Bravo', [4, 5, 6]),
('Charlie', [7,8, 9])],
orient='index',
columns=['A', 'B', 'C'])
>>> df
A B C
Alfa 1 2 3
Bravo 4 5 6
Charlie 7 8 9
del 删除 DataFrame 列的方法
>>> df
A B C
Alfa 1 2 3
Bravo 4 5 6
Charlie 7 8 9
>>> del df['A']
>>> df
B C
Alfa 2 3
Bravo 5 6
Charlie 8 9
del df['col_name'] 删除名称为 col_name 的 DataFrame 列。
这种 del 方法的局限性在于它一次只能删除一列。
df.drop 删除 DataFrame 列的方法
drop(
self,
labels=None,
axis=0,
index=None,
columns=None,
level=None,
inplace=False,
errors="raise",
)
drop 方法从行或列中删除/删除指定的 labels。
labels 可以是单个标签或要删除的类似列表的索引或列标签。
axis 指定是从索引/行(0 或 index)还是从列(1 或 columns)删除标签。
index、columns 是指定轴的替代方法。drop(labels, axis=0) 等于 drop(index=labels),同时 drop(labels, axis=1) 等于 drop(column=labels)。
inplace 指定 DataFrame 进行就地修改,如果 inplace = True;否则,原始 DataFrame 保持不变,而它返回新的修改后的 DataFrame。
>>> df
A B C
Alfa 1 2 3
Bravo 4 5 6
Charlie 7 8 9
>>> df.drop(["B", "C"], axis=1)
A
Alfa 1
Bravo 4
Charlie 7
## or equally
>>> df.drop(columns=["B", "C"])
A
Alfa 1
Bravo 4
Charlie 7
## or drop the columns in place
>>> df.drop(columns=["B", "C"],inplace=True)
>>> df
A
Alfa 1
Bravo 4
Charlie 7
df.pop 删除 Pandas 中 DataFrame 列的方法
df.pop(item)
DataFrame pop 方法返回该元素并将其从 DataFrame 中删除。
>>> df
A B C
Alfa 1 2 3
Bravo 4 5 6
Charlie 7 8 9
>>> df.pop("A")
Alfa 1
Bravo 4
Charlie 7
Name: A, dtype: int64
>>> df
B C
Alfa 2 3
Bravo 5 6
Charlie 8 9
如上所示,在适当位置修改了 DataFrame 数据。
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
作者: Jinku Hu
相关文章 - Pandas DataFrame
- 如何将 Pandas DataFrame 列标题获取为列表
- 如何在 Pandas 中将 DataFrame 列转换为日期时间
- 如何在 Pandas DataFrame 中将浮点数转换为整数
- 如何按一列的值对 Pandas DataFrame 进行排序
- 如何用 group-by 和 sum 获得 Pandas 总和
