📜  pandas 从数据帧中删除多头 - Python (1)

📅  最后修改于: 2023-12-03 15:18:14.481000             🧑  作者: Mango

Pandas 从数据帧中删除多头 - Python

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

使用 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 方法可以返回一个布尔数组,表示每一行是否重复。可以使用该数组来过滤数据帧中的重复行。

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_duplicatesduplicated 方法。除了这两种方法外,还可以使用排序等方法来进行去重。使用合适的方法可以提高代码的效率和易读性。