如何删除 Pandas DataFrame 列
Jinku Hu
2023年1月30日
本文介绍了多种删除 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
数据。
作者: Jinku Hu
相关文章 - Pandas DataFrame
- 如何将 Pandas DataFrame 列标题获取为列表
- 如何在 Pandas 中将 DataFrame 列转换为日期时间
- 如何在 Pandas DataFrame 中将浮点数转换为整数
- 如何按一列的值对 Pandas DataFrame 进行排序
- 如何用 group-by 和 sum 获得 Pandas 总和