需要从Pandas DataFrame中删除重复项吗?
如果是这样,你可以应用以下语法从DataFrame中删除重复项:
df.drop_duplicates()
Pandas DataFrame如何删除重复项?在下一节中,你将看到在实践中应用此语法的步骤以及相关的Pandas DataFrame删除重复项示例。
从 Pandas DataFrame中删除重复项的步骤
步骤 1:收集包含重复项的数据
首先,你需要收集包含重复项的数据。
例如,假设你有以下关于盒子的数据,其中每个盒子可能有不同的颜色或形状:
Color | Shape |
Green | Rectangle |
Green | Rectangle |
Green | Square |
Blue | Rectangle |
Blue | Square |
Red | Square |
Red | Square |
Red | Rectangle |
如你所见,两列下都有重复项。
在删除这些重复项之前,你需要创建 Pandas DataFrame以在 Python 中捕获该数据。
第 2 步:创建 Pandas DataFrame
接下来,使用以下代码创建 Pandas DataFrame:
import pandas as pd
boxes = {'Color': ['Green','Green','Green','Blue','Blue','Red','Red','Red'],
'Shape': ['Rectangle','Rectangle','Square','Rectangle','Square','Square','Square','Rectangle']
}
df = pd.DataFrame(boxes, columns = ['Color', 'Shape'])
print(df)
在 Python 中运行代码后,你将获得与步骤 1 中相同的值:
Color Shape
0 Green Rectangle
1 Green Rectangle
2 Green Square
3 Blue Rectangle
4 Blue Square
5 Red Square
6 Red Square
7 Red Rectangle
第 3 步:从 Pandas DataFrame 中删除重复项
要从DataFrame中删除重复项,你可以使用在本指南开头看到的以下语法:
df.drop_duplicates()
Pandas DataFrame如何删除重复项?假设你要删除颜色和形状两列中的重复项。
在这种情况下,请应用以下代码以删除这些重复项:
import pandas as pd
boxes = {'Color': ['Green','Green','Green','Blue','Blue','Red','Red','Red'],
'Shape': ['Rectangle','Rectangle','Square','Rectangle','Square','Square','Square','Rectangle']
}
df = pd.DataFrame(boxes, columns = ['Color', 'Shape'])
df_duplicates_removed = df.drop_duplicates()
print(df_duplicates_removed)
如你所见,只有两列中的不同值仍然存在:
Color Shape
0 Green Rectangle
2 Green Square
3 Blue Rectangle
4 Blue Square
5 Red Square
7 Red Rectangle
但是,如果你想删除特定列(例如颜色列)上的重复项怎么办?
在这种情况下,你可以使用子集指定列名:
df.drop_duplicates( subset=['Color'] )
因此,删除 Color 列重复项的完整 Python Pandas DataFrame删除重复项示例如下所示:
import pandas as pd
boxes = {'Color': ['Green','Green','Green','Blue','Blue','Red','Red','Red'],
'Shape': ['Rectangle','Rectangle','Square','Rectangle','Square','Square','Square','Rectangle']
}
df = pd.DataFrame(boxes, columns = ['Color', 'Shape'])
df_duplicates_removed = df.drop_duplicates(subset=['Color'])
print(df_duplicates_removed)
结果如下:
Color Shape
0 Green Rectangle
3 Blue Rectangle
5 Red Square
你可能需要查看Pandas 文档以了解有关从Pandas DataFrame中删除重复项的更多信息。