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 12B C
0 5 9
1 6 10
2 7 11
3 8 12
四、注意事项
- 索引和列名:确保删除的标签是存在的,否则会引发 KeyError。
- inplace 参数:使用 inplace=True 时,原 DataFrame 会被修改,不返回新的 DataFrame。
- 多级索引:在使用多级索引时,level 参数可以指定删除标签的级别。
- 数据类型:删除操作不会影响 DataFrame 的数据类型。