如何删除 pandas 中的重复列(附示例)


您可以使用以下基本语法来删除 pandas 中的重复列:

 df. T. drop_duplicates (). T

以下示例展示了如何在实践中使用此语法。

示例:删除 Pandas 中的重复列

假设我们有以下 pandas DataFrame:

 import pandas as pd

#create DataFrame with duplicate columns
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

df. columns = ['team', 'points', 'points', 'rebounds']

#view DataFrame
df

	team points points rebounds
0 A 25 25 11
1 A 12 12 8
2 A 15 15 10
3 A 14 14 6
4 B 19 19 6
5 B 23 23 5
6 B 25 25 9
7 B 29 29 12

我们可以使用以下代码删除重复的“points”列:

 #remove duplicate columns
df. T. drop_duplicates (). T

team points rebounds
0 to 25 11
1 to 12 8
2 to 15 10
3 to 14 6
4 B 19 6
5 B 23 5
6 B 25 9
7 B 29 12

请注意,“点”列已被删除,而所有其他列仍保留在数据框中。

还值得注意的是,即使列具有不同的名称但包含相同的值,此代码也会删除重复的列。

例如,假设我们有以下 pandas DataFrame:

 import pandas as pd

#create DataFrame with duplicate columns
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' points2 ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

	team points points2 rebounds
0 A 25 25 11
1 A 12 12 8
2 A 15 15 10
3 A 14 14 6
4 B 19 19 6
5 B 23 23 5
6 B 25 25 9
7 B 29 29 12

请注意,“points”和“points2”列包含相同的值。

我们可以使用以下代码删除重复的“points2”列:

 #remove duplicate columns
df. T. drop_duplicates (). T

team points rebounds
0 to 25 11
1 to 12 8
2 to 15 10
3 to 14 6
4 B 19 6
5 B 23 5
6 B 25 9
7 B 29 12

其他资源

以下教程解释了如何在 pandas 中执行其他常见功能:

如何删除 Pandas DataFrame 中的重复行
如何删除 Pandas 中的列
如何排除 Pandas 中的列

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注