如何删除 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 中执行其他常见功能: