📅  最后修改于: 2023-12-03 15:18:14.481000             🧑  作者: Mango
Pandas 是一个常用的数据分析库,它提供了方便的数据结构和数据分析工具。在数据分析中,有时需要从数据帧中删除多头,即在数据帧中去除重复行。本文将介绍如何使用 Pandas 从数据帧中删除多头。
我们先创建一个包含多头的数据帧:
import pandas as pd
df = pd.DataFrame({
'A': [1, 2, 2, 3, 3],
'B': [1, 1, 2, 2, 3],
'C': [1, 2, 3, 4, 5]
})
print(df)
输出:
A B C
0 1 1 1
1 2 1 2
2 2 2 3
3 3 2 4
4 3 3 5
可以看到,第二、三行和第四、五行是重复的,需要从数据帧中删除。
删除多头的方法有多种,这里介绍两种:
使用 drop_duplicates
方法可以从数据帧中删除重复的行。该方法默认根据所有列的值来判断是否重复,如果只需要根据指定列的值来判断,可以使用 subset
参数指定要使用的列。
df = df.drop_duplicates()
print(df)
输出:
A B C
0 1 1 1
1 2 1 2
2 2 2 3
3 3 2 4
4 3 3 5
可以看到,第二、三行和第四、五行已经被删除。
使用 duplicated
方法可以返回一个布尔数组,表示每一行是否重复。可以使用该数组来过滤数据帧中的重复行。
duplicated_rows = df.duplicated()
df = df[~duplicated_rows]
print(df)
输出:
A B C
0 1 1 1
1 2 1 2
2 2 2 3
3 3 2 4
4 3 3 5
可以看到,第二、三行和第四、五行已经被删除。
本文介绍了两种从数据帧中删除多头的方法,分别使用了 drop_duplicates
和 duplicated
方法。除了这两种方法外,还可以使用排序等方法来进行去重。使用合适的方法可以提高代码的效率和易读性。