Pandas中DataFrame.drop()函数的具体使用
作者:Midsummer-逐梦
DataFrame.drop是Pandas库中一个非常实用的函数,用于删除 DataFrame中的行或列,本文就来介绍一下Pandas中DataFrame.drop()函数的具体使用,感兴趣的可以了解一下
一、简介
DataFrame.drop
是 Pandas 库中一个非常实用的函数,用于删除 DataFrame 中的行或列。通过指定列名或行索引,可以灵活地从数据集中移除不需要的数据。这对于数据清洗和预处理非常有用。
二、语法和参数
DataFrame.drop(labels, axis=0, index=False, columns=False, level=None, inplace=False)
参数
- labels: 要删除的标签,可以是数组、列表、元组或单个标签。
- axis: 删除的轴,0 表示行,1 表示列,默认为 0。
- index: 如果为 True,则删除标签为索引。
- columns: 如果为 True,则删除标签为列。
- level: 指定删除标签的级别,仅在使用多级索引时有效。
- inplace: 如果为 True,则在原地修改 DataFrame,否则返回一个新的 DataFrame。
三、实例
3.1 删除指定行
import pandas as pd # 创建一个示例 DataFrame df = pd.DataFrame({ 'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8], 'C': [9, 10, 11, 12] }) # 删除第一行 result = df.drop(0) print(result)
输出:
A B C
1 2 6 10
2 3 7 11
3 4 8 12
3.2 删除指定列
# 删除列 'B' result = df.drop('B', axis=1) print(result)
输出:
A C
0 1 9
1 2 10
2 3 11
3 4 12
3.3 删除多个行和列
import pandas as pd # 创建一个示例 DataFrame df = pd.DataFrame({ 'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8], 'C': [9, 10, 11, 12] }) # 删除列 'B' result = df.drop(columns='B', axis=1) print(result)
输出:
A B
0 1 5
2 3 7
3 4 8
3.4 使用 inplace 修改原 DataFrame
import pandas as pd # 创建一个示例 DataFrame df = pd.DataFrame({ 'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8], 'C': [9, 10, 11, 12] }) print(df) # 删除列 'A' 并直接修改原 DataFrame df.drop('A', axis=1, inplace=True) print(df)
输出:
A B C
0 1 5 9
1 2 6 10
2 3 7 11
3 4 8 12
B C
0 5 9
1 6 10
2 7 11
3 8 12
四、注意事项
- 索引和列名:确保删除的标签是存在的,否则会引发 KeyError。
- inplace 参数:使用 inplace=True 时,原 DataFrame 会被修改,不返回新的 DataFrame。
- 多级索引:在使用多级索引时,level 参数可以指定删除标签的级别。
- 数据类型:删除操作不会影响 DataFrame 的数据类型。
扩展
del与drop的区别
在Python中del和drop方法都能够删除dataframe中的列数据,但两者也有着些许区别:
1. del属于Python的内置函数,drop属于pandas中的内置函数
2. del 删除列
drop 删除行和列(默认行)
3. drop一次可以处理多个项目;del一次只能操作一个
4. drop可以就地操作或返回副本;del仅是就地操作
5. 两种函数在执行效率上很接近,但是在较大数据上,drop函数优势更明显,尤其是在处理多列数据时
del crime['Total'] crime=crime.drop(['Total'],axis=1)
到此这篇关于Pandas中DataFrame.drop()函数的具体使用的文章就介绍到这了,更多相关Pandas DataFrame.drop()内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!